|
20 | 20 | fail-fast: false # We want all of them to run, even if one fails |
21 | 21 | matrix: |
22 | 22 | pg_version: [12, 13, 14, 15, 16] |
23 | | - os: [ubuntu-latest, macos-latest] |
24 | | - arch: [amd64, arm64] |
25 | | - exclude: |
26 | | - - os: macos-latest |
27 | | - arch: amd64 |
| 23 | + os: [buildjet-4vcpu-ubuntu-2204, buildjet-4vcpu-ubuntu-2204-arm, macos-latest] |
28 | 24 |
|
29 | 25 | runs-on: ${{ matrix.os }} |
30 | 26 |
|
@@ -76,21 +72,31 @@ jobs: |
76 | 72 |
|
77 | 73 | - name: Format OS name for release |
78 | 74 | run: | |
79 | | - LOWERCASE_OS=$(echo ${{ runner.os }} | tr '[:upper:]' '[:lower:]') |
80 | | - if [ "$LOWERCASE_OS" = "macos" ]; then |
81 | | - LOWERCASE_OS="darwin" |
82 | | - fi |
| 75 | + LOWERCASE_OS=$(uname -s | tr '[:upper:]' '[:lower:]') |
| 76 | +
|
83 | 77 | echo "LOWERCASE_OS=$LOWERCASE_OS" >> $GITHUB_ENV |
84 | 78 |
|
| 79 | + - name: Format arch |
| 80 | + run: | |
| 81 | + ARCH=$(uname -m) |
| 82 | +
|
| 83 | + if [ "$ARCH" = "x86_64" ]; then |
| 84 | + ARCH="amd64" |
| 85 | + elif [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then |
| 86 | + ARCH="arm64" |
| 87 | + fi |
| 88 | +
|
| 89 | + echo "ARCH=$ARCH" >> $GITHUB_ENV |
| 90 | +
|
85 | 91 | - name: Package Extension |
86 | 92 | run: | |
87 | 93 | mkdir -p release |
88 | | - tar -czvf release/${{ env.EXTENSION_NAME }}-pg${{ matrix.pg_version }}-${{ env.LOWERCASE_OS }}-${{ matrix.arch }}.tar.gz -C target/release/${{ env.EXTENSION_NAME }}-pg${{ matrix.pg_version }} . |
| 94 | + tar -czvf release/${{ env.EXTENSION_NAME }}-pg${{ matrix.pg_version }}-${{ env.LOWERCASE_OS }}-${{ env.ARCH }}.tar.gz -C target/release/${{ env.EXTENSION_NAME }}-pg${{ matrix.pg_version }} . |
89 | 95 |
|
90 | 96 | - name: Upload Release Asset |
91 | 97 | uses: softprops/action-gh-release@v1 |
92 | 98 | with: |
93 | | - files: release/${{ env.EXTENSION_NAME }}-pg${{ matrix.pg_version }}-${{ env.LOWERCASE_OS }}-${{ matrix.arch }}.tar.gz |
| 99 | + files: release/${{ env.EXTENSION_NAME }}-pg${{ matrix.pg_version }}-${{ env.LOWERCASE_OS }}-${{ env.ARCH }}.tar.gz |
94 | 100 |
|
95 | 101 | build-and-push-docker: |
96 | 102 | needs: build-and-publish |
|
99 | 105 | steps: |
100 | 106 | - uses: actions/checkout@v4 |
101 | 107 |
|
| 108 | + # It's fine to use QEMU here because we're not building the extension inside the Dockerfile |
102 | 109 | - name: Set up QEMU |
103 | 110 | uses: docker/setup-qemu-action@v3 |
104 | 111 |
|
|
0 commit comments