Skip to content

Commit

Permalink
ci tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
mxcl committed Dec 13, 2023
1 parent 6e9c29e commit ed98882
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 38 deletions.
4 changes: 2 additions & 2 deletions .github/scripts/get-matrix.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,14 @@ function get_matrix(platform: string) {
container: "debian:buster-slim",
"test-os": [os],
"test-container": ["debian:buster-slim", "ubuntu", "archlinux"],
tinyname: "Lnx·x64"
tinyname: "*nix64"
}}
case 'linux/aarch64': {
const os = ["self-hosted", "linux", "ARM64"]
return {
os, name,
"test-os": [os],
"test-container": [null],
tinyname: "Lnx·ARM64"
tinyname: "*nix·ARM64"
}}}
}
6 changes: 3 additions & 3 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ concurrency:
cancel-in-progress: true

jobs:
get-projects:
ingest:
runs-on: ubuntu-latest
outputs:
projects: ${{ steps.diff.outputs.diff }}
Expand All @@ -29,10 +29,10 @@ jobs:
done
echo "diff=$RESULT" >> $GITHUB_OUTPUT
pkgit:
pkg:
strategy:
fail-fast: false
needs: get-projects
needs: ingest
permissions:
issues: write
uses: ./.github/workflows/new-version.yml
Expand Down
23 changes: 5 additions & 18 deletions .github/workflows/new-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
type: string

jobs:
divide:
ingest:
runs-on: ubuntu-latest
outputs:
pkgs: ${{ steps.divide.outputs.pkgs }}
Expand All @@ -26,26 +26,13 @@ jobs:
echo "pkgs=$var" >> $GITHUB_OUTPUT
id: divide
pkgit:
needs: divide
pkg:
needs: ingest
strategy:
fail-fast: false
matrix:
pkg: ${{ fromJSON(needs.divide.outputs.pkgs) }}
pkg: ${{ fromJSON(needs.ingest.outputs.pkgs) }}
uses: ./.github/workflows/pkg.yml
with:
pkg: ${{ matrix.pkg }}
secrets: inherit

complain:
needs: pkgit
if: failure()
runs-on: ubuntu-latest
strategy:
fail-fast: false
permissions:
issues: write
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/complain
with:
pkg: ${{ inputs.projects }}
35 changes: 24 additions & 11 deletions .github/workflows/pkg-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,34 @@ on:
workflow_call:
inputs:
name:
description: brewkit platform unique ID
type: string
tinyname:
description: >
pretty name for the workflow to make GitHub Actions matrix output
more legible
required: false
GitHub Actions has a non resizable sidebar so we need a shorter name
or it’s much harder to differentiate the different jobs.
type: string
default: ${{ inputs.name }}
os:
required: true
type: string
container:
required: false
type: string
pkg:
description: eg. `[email protected]`
required: true
type: string
dry-run:
description: dry runs do not modify bottle storage
type: boolean
default: false
test-os:
description: a JSON array of runner-names
required: true
type: string
test-container:
description: >
A JSON array of docker image names or `[null]`.
Indeed! You cannot leave this as `null` or undefined.
Sorry, GHA is not flexible enough to efficiently work around this.
required: true
type: string
secrets:
APPLE_CERTIFICATE_P12: { required: false }
Expand All @@ -48,7 +47,7 @@ on:

jobs:
build:
name: build (${{inputs.name}})
name: build ${{inputs.tinyname}}
runs-on: ${{ fromJSON(inputs.os) }}
container: ${{ inputs.container }}
outputs:
Expand Down Expand Up @@ -85,7 +84,7 @@ jobs:
- uses: pkgxdev/brewkit/upload-build-artifact@v1

test:
name: test (${{inputs.name}}) ${{ matrix.container || ''}} ${{ join(matrix.os) }}
name: test ${{inputs.tinyname}} ${{ matrix.container || ''}} ${{ matrix.container || '' }} ${{ join(matrix.os, '+') }}
needs: build
strategy:
matrix:
Expand All @@ -104,7 +103,7 @@ jobs:
pkg: ${{ needs.build.outputs.pkg }}

bottle:
name: bottle (${{inputs.name}}+${{matrix.compression}})
name: bottle (${{inputs.tinyname}}.${{matrix.compression}})
needs: [build, test]
strategy:
matrix:
Expand Down Expand Up @@ -168,7 +167,8 @@ jobs:
id: put
if: ${{ ! inputs.dry-run }}

versions:
publish:
name: publish ${{inputs.tinyname}} ${{ inputs.dry-run && '(dry-run)' }}
runs-on: ubuntu-latest
needs: [bottle, build]
env:
Expand Down Expand Up @@ -208,3 +208,16 @@ jobs:
/$DIRNAME/versions.txt
${{ needs.bottle.outputs.paths }}
if: ${{ ! inputs.dry-run }}

complain:
needs: [build, test, bottle]
if: failure() && !inputs.dry-run
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/complain
with:
pkg: ${{ inputs.pkg }}
platform: ${{ inputs.name }}
9 changes: 5 additions & 4 deletions .github/workflows/pkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
default: false

jobs:
get-matrix:
plan:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
Expand All @@ -22,13 +22,13 @@ jobs:
- run: .github/scripts/get-matrix.ts ${{ inputs.pkg }}
id: matrix

pkgit:
needs: get-matrix
pkg:
needs: plan
name: ${{matrix.platform.tinyname}}
strategy:
fail-fast: false
matrix:
platform: ${{ fromJSON(needs.get-matrix.outputs.matrix) }}
platform: ${{ fromJSON(needs.plan.outputs.matrix) }}
uses: ./.github/workflows/pkg-platform.yml
with:
pkg: ${{ inputs.pkg }}
Expand All @@ -38,4 +38,5 @@ jobs:
test-os: ${{ toJSON(matrix.platform.test-os) }}
test-container: ${{ toJSON(matrix.platform.test-container) }}
dry-run: ${{ inputs.dry-run }}
tinyname: ${{ matrix.platform.tinyname }}
secrets: inherit

0 comments on commit ed98882

Please sign in to comment.