name: CI on: push: # Run in PRs and for bors, but not on master. branches: - 'auto' - 'try' pull_request: branches: - 'master' schedule: # Use to conveniently edit cron schedule. - cron: "0 7 * * *" # At 07:00 UTC every day. jobs: build: runs-on: ${{ matrix.os }} env: RUST_BACKTRACE: 1 strategy: matrix: build: [linux64, macos, win32] include: - build: linux64 os: ubuntu-latest host_target: x86_64-unknown-linux-gnu - build: macos os: macos-latest host_target: x86_64-apple-darwin - build: win32 os: windows-latest host_target: i686-pc-windows-msvc steps: - uses: actions/checkout@v2 # These jobs doesn't actually test anything, but they're only used to tell # bors the build completed, as there is no practical way to detect when a # workflow is successful listening to webhooks only. # # ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB! end-success: name: bors build finished runs-on: ubuntu-latest needs: [build] if: github.event.pusher.name == 'bors' && success() steps: - name: mark the job as a success run: exit 0 end-failure: name: bors build finished runs-on: ubuntu-latest needs: [build] if: github.event.pusher.name == 'bors' && (failure() || cancelled()) steps: - name: mark the job as a failure run: exit 1