mirror of
https://github.com/ivabus/pantry
synced 2024-11-22 08:25:07 +03:00
ci tweaks (#4380)
This commit is contained in:
parent
9d6112bd9f
commit
641739b6ed
6 changed files with 47 additions and 40 deletions
4
.github/scripts/get-matrix.ts
vendored
4
.github/scripts/get-matrix.ts
vendored
|
@ -73,7 +73,7 @@ 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"]
|
||||
|
@ -81,6 +81,6 @@ function get_matrix(platform: string) {
|
|||
os, name,
|
||||
"test-os": [os],
|
||||
"test-container": [null],
|
||||
tinyname: "Lnx·ARM64"
|
||||
tinyname: "*nix·ARM64"
|
||||
}}}
|
||||
}
|
||||
|
|
8
.github/workflows/cd.yml
vendored
8
.github/workflows/cd.yml
vendored
|
@ -11,7 +11,7 @@ concurrency:
|
|||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
get-projects:
|
||||
ingest:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
projects: ${{ steps.diff.outputs.diff }}
|
||||
|
@ -29,13 +29,13 @@ 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
|
||||
with:
|
||||
projects: ${{ needs.get-projects.outputs.projects }}
|
||||
projects: ${{ needs.ingest.outputs.projects }}
|
||||
secrets: inherit
|
||||
|
|
2
.github/workflows/ci-squared.yml
vendored
2
.github/workflows/ci-squared.yml
vendored
|
@ -22,6 +22,8 @@ jobs:
|
|||
pkg:
|
||||
- r-wos.org/gti
|
||||
- github.com/ggerganov/llama.cpp # has platform restrictions
|
||||
permissions:
|
||||
issues: write
|
||||
with:
|
||||
pkg: ${{ matrix.pkg }}
|
||||
dry-run: true
|
||||
|
|
25
.github/workflows/new-version.yml
vendored
25
.github/workflows/new-version.yml
vendored
|
@ -16,7 +16,7 @@ on:
|
|||
type: string
|
||||
|
||||
jobs:
|
||||
divide:
|
||||
ingest:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
pkgs: ${{ steps.divide.outputs.pkgs }}
|
||||
|
@ -26,26 +26,15 @@ 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
|
||||
permissions:
|
||||
issues: write
|
||||
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 }}
|
||||
|
|
37
.github/workflows/pkg-platform.yml
vendored
37
.github/workflows/pkg-platform.yml
vendored
|
@ -5,20 +5,21 @@ on:
|
|||
workflow_call:
|
||||
inputs:
|
||||
name:
|
||||
description: >
|
||||
pretty name for the workflow to make GitHub Actions matrix output
|
||||
more legible
|
||||
required: false
|
||||
description: brewkit platform unique ID
|
||||
type: string
|
||||
tinyname:
|
||||
description: >
|
||||
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. `example.com@1.2.3`
|
||||
required: true
|
||||
type: string
|
||||
dry-run:
|
||||
description: dry runs do not modify bottle storage
|
||||
|
@ -26,14 +27,12 @@ on:
|
|||
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 }
|
||||
|
@ -48,7 +47,7 @@ on:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
name: build (${{inputs.name}})
|
||||
name: build ${{inputs.tinyname}}
|
||||
runs-on: ${{ fromJSON(inputs.os) }}
|
||||
container: ${{ inputs.container }}
|
||||
outputs:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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 }}
|
||||
|
|
11
.github/workflows/pkg.yml
vendored
11
.github/workflows/pkg.yml
vendored
|
@ -12,7 +12,7 @@ on:
|
|||
default: false
|
||||
|
||||
jobs:
|
||||
get-matrix:
|
||||
plan:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix: ${{ steps.matrix.outputs.matrix }}
|
||||
|
@ -22,14 +22,16 @@ 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
|
||||
permissions:
|
||||
issues: write
|
||||
with:
|
||||
pkg: ${{ inputs.pkg }}
|
||||
name: ${{ matrix.platform.name }}
|
||||
|
@ -38,4 +40,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
|
||||
|
|
Loading…
Reference in a new issue