Skip to content

revert move to upload-artifact@v4 #349

revert move to upload-artifact@v4

revert move to upload-artifact@v4 #349

Workflow file for this run

on:
pull_request:
workflow_call:
jobs:
build:
runs-on: ${{ matrix.platform.os }}
outputs:
pkg: ${{ steps.build.outputs.pkgjson }}
env:
PKGX_PANTRY_PATH: ${{github.workspace}}/co
strategy:
matrix:
platform:
- os: ubuntu-latest
name: linux
arch: x86-64
# gha finally added arm runners:
# https://github.com/actions/runner-images
- os: macos-latest
name: darwin
arch: aarch64
steps:
- uses: actions/checkout@v4
with:
path: co # test that things working isn’t just a coincident of PWD == BREKWIT_DIR
- uses: pkgxdev/setup@v2
- uses: ./co/build
id: build
with:
pkg: stark.com/foo
- run: test ${{ steps.build.outputs.pkgspec }} = stark.com/foo=2.3.4
- run: test ${{ steps.build.outputs.project }} = stark.com/foo
- run: test ${{ steps.build.outputs.version }} = 2.3.4
- run: test ${{ steps.build.outputs.platform }} = ${{ matrix.platform.name }}
- run: test ${{ steps.build.outputs.arch }} = ${{ matrix.platform.arch }}
- run: test -d ${{ steps.build.outputs.prefix }}
- run: test $BREWKIT_PKGSPEC = ${{ steps.build.outputs.pkgspec }}
- run: test $BREWKIT_PREFIX = ${{ steps.build.outputs.prefix }}
- uses: ./co/upload-build-artifact
test:
needs: build
strategy:
matrix:
platform-key:
- darwin+aarch64
- null
runs-on: ubuntu-latest
env:
PKGX_PANTRY_PATH: ${{github.workspace}}/co
steps:
- uses: actions/checkout@v4
with:
path: co # test that things working isn’t just a coincident of PWD == BREKWIT_DIR
- uses: pkgxdev/setup@v2
- uses: ./co/download-build-artifact
with:
pkg: ${{ needs.build.outputs.pkg }}
platform: ${{ matrix.platform-key }}
- uses: ./co/test
with:
pkg: ${{ needs.build.outputs.pkg }}
audit:
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
env:
PKGX_PANTRY_PATH: ${{github.workspace}}/co
steps:
- uses: actions/checkout@v4
with:
path: co # test that things working isn’t just a coincident of PWD == BREKWIT_DIR
- uses: pkgxdev/setup@v2
- uses: ./co/download-build-artifact
with:
pkg: ${{ needs.build.outputs.pkg }}
- uses: ./co/audit
with:
pkg: ${{ needs.build.outputs.pkg }}
bottle:
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
compression: [xz, gz]
platform:
- darwin+x86-64
- linux+x86-64
env:
PKGX_PANTRY_PATH: ${{github.workspace}}/co
steps:
- uses: actions/checkout@v4
with:
path: co # test that things working isn’t just a coincident of PWD == BREKWIT_DIR
- uses: pkgxdev/setup@v2
- uses: ./co/download-build-artifact
id: dl
with:
extract: false
platform: ${{ matrix.platform }}
pkg: ${{ needs.build.outputs.pkg }}
- uses: ./co/bottle
id: bottle
with:
file: ${{ steps.dl.outputs.filename }}
compression: ${{matrix.compression}}
# v4 is buggy on apple
# https://github.com/actions/upload-artifact/issues/527
- uses: actions/upload-artifact@v3
with:
path: ${{ steps.bottle.outputs.filename }}
name: ${{ steps.bottle.outputs.name }}
unavailable:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pkgxdev/setup@v2
- uses: ./build
id: build
with:
pkg: unavailable.com
env:
PKGX_PANTRY_PATH: ${{github.workspace}}
- run: echo ${{steps.build.outputs.noop}}
- run: exit 1
if: ${{steps.build.outputs.noop != 'true'}}
id:
env:
PKGX_PANTRY_PATH: ${{github.workspace}}
runs-on: ubuntu-latest
outputs:
pkgs: ${{ steps.id.outputs.pkgs }}
steps:
- uses: actions/checkout@v4
- uses: pkgxdev/setup@v2
- uses: ./id
id: id
with:
pkg: stark.com/foo
env:
PKGX_PANTRY_PATH: ${{github.workspace}}
- run: test ${{ steps.id.outputs.version }} = 2.3.4
- run: test ${{ steps.id.outputs.version-raw }} = 2.3.4
- run: test -z "${{ steps.id.outputs.version-tag }}"
- uses: ./build
with:
pkg: ${{ steps.id.outputs.pkg-json }}
- uses: ./id
id: id2
with:
pkg: toolchain.com
- run: test v${{ steps.id2.outputs.version }} = ${{ steps.id2.outputs.version-tag }}
- run: test ${{ steps.id2.outputs.version-raw }} = ${{ steps.id2.outputs.version }}
# test that running off the `BREWKIT_PKGJSON` that the id action sets works
- uses: ./build
id: build
- run: test ${{ steps.build.outputs.project }} = 'toolchain.com'
- uses: ./test