Upgrades workflows.
De-duplicates the Ubuntu version/codename specs to simplify adding distributions.main
parent
c13370096d
commit
d39f4ad267
|
@ -48,7 +48,7 @@ jobs:
|
||||||
)
|
)
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
# See https://github.com/marketplace/actions/github-push
|
# See https://github.com/marketplace/actions/github-push
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
@ -58,8 +58,9 @@ jobs:
|
||||||
id: check-repo-release
|
id: check-repo-release
|
||||||
run: |
|
run: |
|
||||||
declare -a new_release_exists
|
declare -a new_release_exists
|
||||||
|
ver_codenames=( $(python3 -c 'import json; import yaml; import sys; json.dump(yaml.safe_load(open(sys.argv[1])), sys.stdout)' .github/workflows/main.yml | jq -r '.jobs."build-deb".strategy.matrix.include[] | .os+"/"+.codename') )
|
||||||
for arch in amd64 armhf arm64; do
|
for arch in amd64 armhf arm64; do
|
||||||
for ver_codename in ubuntu-24.04/noble ubuntu-22.04/jammy ubuntu-20.04/focal; do
|
for ver_codename in "${ver_codenames[@]}"; do
|
||||||
ver=${ver_codename%/*}
|
ver=${ver_codename%/*}
|
||||||
codename=${ver_codename##*/}
|
codename=${ver_codename##*/}
|
||||||
# Note the leading v to match the Git tag.
|
# Note the leading v to match the Git tag.
|
||||||
|
@ -136,19 +137,13 @@ jobs:
|
||||||
key: ${{ matrix.os }}-amd64
|
key: ${{ matrix.os }}-amd64
|
||||||
|
|
||||||
- name: Build Client DEB
|
- name: Build Client DEB
|
||||||
uses: actions-rs/cargo@v1
|
run: cargo deb -p client --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ matrix.codename }}
|
||||||
with:
|
|
||||||
command: deb
|
|
||||||
args: -p client --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ matrix.codename }}
|
|
||||||
|
|
||||||
- name: Build Server DEB
|
- name: Build Server DEB
|
||||||
uses: actions-rs/cargo@v1
|
run: cargo deb -p server --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ matrix.codename }}
|
||||||
with:
|
|
||||||
command: deb
|
|
||||||
args: -p server --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ matrix.codename }}
|
|
||||||
|
|
||||||
- name: Upload DEBs
|
- name: Upload DEBs
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
# Syntax: https://github.com/actions/upload-artifact/issues/22
|
# Syntax: https://github.com/actions/upload-artifact/issues/22
|
||||||
name: deb ${{ matrix.codename }} ${{ matrix.arch }}
|
name: deb ${{ matrix.codename }} ${{ matrix.arch }}
|
||||||
|
@ -249,19 +244,15 @@ jobs:
|
||||||
type -p cargo-deb >/dev/null || cargo install cargo-deb
|
type -p cargo-deb >/dev/null || cargo install cargo-deb
|
||||||
|
|
||||||
- name: Build Client DEB
|
- name: Build Client DEB
|
||||||
uses: actions-rs/cargo@v1
|
run: |
|
||||||
with:
|
cargo deb -p client --target=${{ matrix.target }} --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ steps.config.outputs.codename }}
|
||||||
command: deb
|
|
||||||
args: -p client --target=${{ matrix.target }} --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ steps.config.outputs.codename }}
|
|
||||||
|
|
||||||
- name: Build Server DEB
|
- name: Build Server DEB
|
||||||
uses: actions-rs/cargo@v1
|
run: |
|
||||||
with:
|
cargo deb -p server --target=${{ matrix.target }} --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ steps.config.outputs.codename }}
|
||||||
command: deb
|
|
||||||
args: -p server --target=${{ matrix.target }} --deb-version=${{ needs.check-upstream.outputs.innernet_version }}-0ubuntu0~${{ steps.config.outputs.codename }}
|
|
||||||
|
|
||||||
- name: Upload DEBs
|
- name: Upload DEBs
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
# Syntax: https://github.com/actions/upload-artifact/issues/22
|
# Syntax: https://github.com/actions/upload-artifact/issues/22
|
||||||
name: deb ${{ steps.config.outputs.codename }} ${{ matrix.arch }}
|
name: deb ${{ steps.config.outputs.codename }} ${{ matrix.arch }}
|
||||||
|
@ -295,7 +286,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Download DEBs
|
- name: Download DEBs
|
||||||
if: "contains(needs.check-upstream.outputs.new_release_exists, matrix.os)"
|
if: "contains(needs.check-upstream.outputs.new_release_exists, matrix.os)"
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: deb ${{ matrix.codename }} ${{ matrix.arch }}
|
name: deb ${{ matrix.codename }} ${{ matrix.arch }}
|
||||||
path: ./artifacts
|
path: ./artifacts
|
||||||
|
@ -351,14 +342,14 @@ jobs:
|
||||||
echo '${{ secrets.GPG_SIGNING_PASSPHRASE }}' | /usr/lib/gnupg/gpg-preset-passphrase --preset 57F0E65446A301CC19914FD61167922350A2D8B2
|
echo '${{ secrets.GPG_SIGNING_PASSPHRASE }}' | /usr/lib/gnupg/gpg-preset-passphrase --preset 57F0E65446A301CC19914FD61167922350A2D8B2
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
# See https://github.com/marketplace/actions/github-push
|
# See https://github.com/marketplace/actions/github-push
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Download DEBs
|
- name: Download DEBs
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: ./artifacts
|
path: ./artifacts
|
||||||
|
|
||||||
|
|
|
@ -68,9 +68,7 @@ The authoritative source of supported distributions and architectures is [`conf/
|
||||||
When Ubuntu/Debian releases a new version, we need to
|
When Ubuntu/Debian releases a new version, we need to
|
||||||
|
|
||||||
1. Add the new distribution in `debian/conf/distributions`.
|
1. Add the new distribution in `debian/conf/distributions`.
|
||||||
1. Update `.github/workflows/main.yml` in
|
1. Add the version and codename to the matrix in `build-deb` in `.github/workflows/main.yml`.
|
||||||
* `check-repo-release` to find existing package versions,
|
|
||||||
* `build-deb` matrix to build on the new version.
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue