mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00

Since we only test them on Ubuntu we can use setup-beam to install Erlang/OTP and avoid waiting for all other checks to complete. Also make the "delete master" job conditional rather than only its step.
68 lines
1.5 KiB
YAML
68 lines
1.5 KiB
YAML
## Use workflows from ninenines/ci.erlang.mk to test Cowboy.
|
|
|
|
name: Check Cowboy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
schedule:
|
|
## Every Monday at 2am.
|
|
- cron: 0 2 * * 1
|
|
|
|
env:
|
|
CI_ERLANG_MK: 1
|
|
|
|
jobs:
|
|
cleanup-master:
|
|
name: Cleanup master build
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name == 'schedule' }}
|
|
permissions:
|
|
actions: write
|
|
steps:
|
|
|
|
- name: Cleanup master build if necessary
|
|
run: |
|
|
gh cache delete Linux-X64-Erlang-master -R $REPO || true
|
|
gh cache delete macOS-ARM64-Erlang-master -R $REPO || true
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
REPO: ${{ github.repository }}
|
|
|
|
check:
|
|
name: Cowboy
|
|
needs: cleanup-master
|
|
if: ${{ !cancelled() }}
|
|
uses: ninenines/ci.erlang.mk/.github/workflows/ci.yaml@master
|
|
|
|
# The examples test suite is nice to run but typically not
|
|
# important. So we run them after we are done with the other
|
|
# test suites. At this point we know that Erlang was built
|
|
# so we can just use the latest version.
|
|
|
|
examples:
|
|
name: Check examples
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install latest Erlang/OTP
|
|
uses: erlef/setup-beam@v1
|
|
with:
|
|
otp-version: latest
|
|
|
|
- name: Run ct-examples
|
|
run: make ct-examples
|
|
|
|
- name: Upload logs
|
|
uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: Common Test logs (examples)
|
|
path: |
|
|
logs/
|
|
!logs/**/log_private
|