## @todo Describe. name: Check a ci.erlang.mk project on: workflow_call: env: CI_ERLANG_MK: 1 AUTO_CI_MASTER: weekly jobs: prepare-unix: name: Prepare Unix runs-on: ubuntu-latest outputs: erlang: ${{ steps.versions.outputs.erlang }} latest: ${{ steps.latest_version.outputs.latest }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Checkout ci.erlang.mk repository uses: actions/checkout@v4 with: repository: ninenines/ci.erlang.mk path: deps/ci.erlang.mk - name: Output Erlang/OTP versions id: versions run: | { echo "erlang<> "$GITHUB_OUTPUT" - name: Output latest Erlang/OTP version id: latest_version run: | { echo "latest<> "$GITHUB_OUTPUT" check: name: Unix needs: prepare-unix strategy: fail-fast: false matrix: erlang: ${{ fromJson(needs.prepare-unix.outputs.erlang) }} os: [ubuntu-latest, macos-latest] uses: ./.github/workflows/unix-ci.yaml with: latest: ${{ needs.prepare-unix.outputs.latest }} erlang: ${{ matrix.erlang }} os: ${{ matrix.os }} prepare-windows: name: Prepare Windows runs-on: windows-latest outputs: erlang: ${{ steps.versions.outputs.erlang }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Checkout ci.erlang.mk repository uses: actions/checkout@v4 with: repository: ninenines/ci.erlang.mk path: deps/ci.erlang.mk - name: Setup MSYS2 uses: msys2/setup-msys2@v2 with: msystem: mingw64 update: true install: >- git make mingw-w64-x86_64-jq - name: Output Erlang/OTP versions id: versions shell: msys2 {0} run: | { echo "erlang<> "$GITHUB_OUTPUT" test-windows: name: Windows needs: prepare-windows strategy: fail-fast: false matrix: erlang: ${{ fromJson(needs.prepare-windows.outputs.erlang) }} runs-on: windows-latest env: COWBOY_QUICER: 0 GUN_QUICER: 0 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Erlang/OTP uses: erlef/setup-beam@v1 with: otp-version: '${{ matrix.erlang }}' version-type: loose - name: Setup MSYS2 uses: msys2/setup-msys2@v2 with: msystem: mingw64 update: true install: >- git make - name: Run tests shell: msys2 {0} run: PATH=$INSTALL_DIR_FOR_OTP/bin:$PATH make -k ci-windows-${{ matrix.erlang }} - name: Upload logs uses: actions/upload-artifact@v4 if: always() with: name: Common Test logs (${{ matrix.erlang }} ${{ runner.os }}) path: | logs/ !logs/**/log_private