|
1 | 1 | name: Upload AUR
|
2 |
| - |
3 | 2 | on:
|
4 | 3 | release:
|
5 | 4 | types: [created]
|
6 | 5 |
|
7 | 6 | jobs:
|
8 |
| - build: |
| 7 | + tpi-bin: |
9 | 8 | runs-on: ubuntu-latest
|
10 | 9 | steps:
|
11 | 10 | - name: Checkout Code
|
12 | 11 | uses: actions/checkout@v4
|
13 | 12 | - name: generate PKGBUILD
|
14 | 13 | run: |
|
15 |
| - cp scripts/ci/PKGBUILD . |
16 |
| - PACKAGE_NAME=$(grep '^name =' Cargo.toml | sed 's/name = "\(.*\)"/\1/') |
| 14 | + cp scripts/ci/PKGBUILD.bin ./PKGBUILD |
| 15 | + PACKAGE_NAME=$(grep '^name =' Cargo.toml | sed 's/name = "\(.*\)"/\1/')-bin |
17 | 16 | VERSION=$(grep '^version =' Cargo.toml | sed 's/version = "\(.*\)"/\1/')
|
18 | 17 | MAINTAINER=$(grep '^authors =' Cargo.toml | sed 's/authors = \[\s*"\(.*\)\s*"\]/\1/')
|
19 | 18 | DESCRIPTION=$(grep '^description =' Cargo.toml | sed 's/description = "\(.*\)"/\1/')
|
|
37 | 36 | commit_email: 'noreply@turingpi.com'
|
38 | 37 | ssh_private_key: ${{ secrets.AUR_DEPLOY_KEY }}
|
39 | 38 | commit_message: Update package to ${{ env.VERSION }}
|
| 39 | + |
| 40 | + tpi-src: |
| 41 | + runs-on: ubuntu-latest |
| 42 | + strategy: |
| 43 | + matrix: |
| 44 | + name: |
| 45 | + - master |
| 46 | + - git |
| 47 | + steps: |
| 48 | + - name: Checkout Code |
| 49 | + uses: actions/checkout@v4 |
| 50 | + - name: generate PKGBUILD |
| 51 | + run: | |
| 52 | + cp scripts/ci/PKGBUILD ./PKGBUILD |
| 53 | + PACKAGE_NAME=$(grep '^name =' Cargo.toml | sed 's/name = "\(.*\)"/\1/') |
| 54 | + VERSION=$(grep '^version =' Cargo.toml | sed 's/version = "\(.*\)"/\1/') |
| 55 | + MAINTAINER=$(grep '^authors =' Cargo.toml | sed 's/authors = \[\s*"\(.*\)\s*"\]/\1/') |
| 56 | + DESCRIPTION=$(grep '^description =' Cargo.toml | sed 's/description = "\(.*\)"/\1/') |
| 57 | + if [[ ${{ matrix.name }} == "master" ]]; then |
| 58 | + TAG="" |
| 59 | + PACKAGE_NAME=${PACKAGE_NAME}-git |
| 60 | + cat << 'EOF' >> PKGBUILD |
| 61 | + pkgver() { |
| 62 | + cd tpi |
| 63 | + git describe --long --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g' |
| 64 | + } |
| 65 | + EOF |
| 66 | + else |
| 67 | + TAG="#tag=v${VERSION}" |
| 68 | + sed -i "3i pkgver=${VERSION}" PKGBUILD |
| 69 | + fi |
| 70 | + sed -i "1i # Maintainer: ${MAINTAINER}" PKGBUILD |
| 71 | + sed -i "2i pkgname=${PACKAGE_NAME}" PKGBUILD |
| 72 | + sed -i "4i pkgdesc='${DESCRIPTION}'" PKGBUILD |
| 73 | + sed -i "5i source=(\"git+https://github.com/turing-machines/tpi.git${TAG}\")" PKGBUILD |
| 74 | +
|
| 75 | + install=$(cat scripts/ci/install) |
| 76 | + cat << EOF >> PKGBUILD |
| 77 | + package() { |
| 78 | + TARGET=\$CARCH-unknown-linux-gnu |
| 79 | + pkgname=tpi |
| 80 | + $install |
| 81 | + } |
| 82 | + EOF |
| 83 | + echo "VERSION=${VERSION}" >> $GITHUB_ENV |
| 84 | + echo "PKG_NAME=${PACKAGE_NAME}" >> $GITHUB_ENV |
| 85 | + - run: cat ./PKGBUILD |
| 86 | + - name: Create AUR package |
| 87 | + uses: addnab/docker-run-action@v3 |
| 88 | + with: |
| 89 | + registry: ghcr.io |
| 90 | + image: 'ghcr.io/heyhusen/archlinux-package-action:latest' |
| 91 | + options: -v ${{ github.workspace }}:/workspace --entrypoint="" |
| 92 | + run: /workspace/scripts/ci/entry_point.sh |
| 93 | + - name: Publish AUR package |
| 94 | + uses: KSXGitHub/github-actions-deploy-aur@v3 |
| 95 | + with: |
| 96 | + pkgname: ${{ env.PKG_NAME }} |
| 97 | + pkgbuild: ./PKGBUILD |
| 98 | + commit_username: 'Github automation' |
| 99 | + commit_email: 'noreply@turingpi.com' |
| 100 | + ssh_private_key: ${{ secrets.AUR_DEPLOY_KEY }} |
| 101 | + commit_message: Update package to ${{ env.VERSION }} |
0 commit comments