name: ASF-ci on: [push, pull_request] env: DOTNET_CLI_TELEMETRY_OPTOUT: true DOTNET_NOLOGO: true DOTNET_SDK_VERSION: 8.0 permissions: {} jobs: main: strategy: fail-fast: false matrix: configuration: [Debug, Release] os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout code uses: actions/checkout@v4.1.1 with: show-progress: false submodules: recursive - name: Setup .NET Core uses: actions/setup-dotnet@v4.0.0 with: dotnet-version: ${{ env.DOTNET_SDK_VERSION }} - name: Verify .NET Core run: dotnet --info - name: Build ${{ matrix.configuration }} ArchiSteamFarm and other projects run: dotnet build -c "${{ matrix.configuration }}" -p:ContinuousIntegrationBuild=true -p:UseAppHost=false --nologo - name: Run ${{ matrix.configuration }} ArchiSteamFarm.Tests run: dotnet test ArchiSteamFarm.Tests -c "${{ matrix.configuration }}" -p:ContinuousIntegrationBuild=true -p:UseAppHost=false --nologo - name: Upload latest strings for translation on Crowdin if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && matrix.configuration == 'Release' && startsWith(matrix.os, 'ubuntu-') }} uses: crowdin/github-action@v1.20.2 with: crowdin_branch_name: main config: '.github/crowdin.yml' project_id: ${{ secrets.ASF_CROWDIN_PROJECT_ID }} token: ${{ secrets.ASF_CROWDIN_API_TOKEN }}