@@ -2,8 +2,8 @@ name: Release
22
33on :
44 push :
5- tags :
6- - ' v*'
5+ # tags:
6+ # - 'v*'
77
88permissions :
99 contents : write
5858
5959 soot-wrapper :
6060 needs : calculate-checksum
61- runs-on : ubuntu-latest
61+ runs-on : ubuntu-24.04
6262 strategy :
6363 matrix :
6464 java-version : [ 11, 17, 21 ]
@@ -87,11 +87,18 @@ jobs:
8787 cd java/common/
8888 mvn clean package -X -DskipTests
8989
90+ - uses : awalsh128/cache-apt-pkgs-action@latest
91+ if : needs.calculate-checksum.outputs.hash != needs.calculate-checksum.outputs.prev_hash
92+ with :
93+ packages : xq
94+ version : 1.0
95+
9096 - name : Create archive with generated JARs
9197 if : needs.calculate-checksum.outputs.hash != needs.calculate-checksum.outputs.prev_hash
9298 run : |
9399 cd java/common/target/
94- zip -r soot-wrapper-${{ matrix.java-version }}.zip SootWrapper-5.1.jar // Use only the jar which includes dependencies
100+ echo SootWrapper-$(xq -x 'project/version' ../pom.xml).jar
101+ zip soot-wrapper-${{ matrix.java-version }}.zip SootWrapper-$(xq -x 'project/version' ../pom.xml).jar # Use only the jar which includes dependencies
95102 mv soot-wrapper-${{ matrix.java-version }}.zip ../../../soot-wrapper-${{ matrix.java-version }}.zip
96103
97104 - name : Upload the archive
@@ -101,121 +108,121 @@ jobs:
101108 path : soot-wrapper-${{ matrix.java-version }}.zip
102109 overwrite : ' true'
103110
104- goreleaser :
105- runs-on : ubuntu-latest
106- needs : soot-wrapper
107- steps :
108- - uses : actions/checkout@v4
109- with :
110- fetch-depth : 0
111-
112- - run : git fetch --force --tags
113-
114- - uses : actions/setup-go@v5
115- with :
116- go-version : ' >=1.20'
117- cache : true
118-
119- - name : Import GPG signing key
120- id : import_gpg
121- uses : crazy-max/ghaction-import-gpg@v6
122- with :
123- gpg_private_key : ${{ secrets.GPG_PRIVATE_KEY }}
124- passphrase : ${{ secrets.GPG_PASSPHRASE }}
125-
126- - name : Pull Supported Formats
127- run : |
128- cd cmd/debricked
129- go generate -v -x
130-
131- - uses : goreleaser/goreleaser-action@v6
132- with :
133- distribution : goreleaser
134- version : latest
135- args : release --clean
136- env :
137- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
138- GPG_FINGERPRINT : ${{ steps.import_gpg.outputs.fingerprint }}
139-
140- - name : Download JAR archives
141- uses : actions/download-artifact@v4
142-
143- - name : Add archives with JARs to release
144- uses : softprops/action-gh-release@v2
145- if : startsWith(github.ref, 'refs/tags/')
146- with :
147- tag_name : ${{ github.ref_name }}
148- files : |
149- soot-wrapper-rev-hash.txt/soot-wrapper-rev-hash.txt
150- soot-wrapper-11.zip/soot-wrapper-11.zip
151- soot-wrapper-17.zip/soot-wrapper-17.zip
152- soot-wrapper-21.zip/soot-wrapper-21.zip
153-
154- major-release :
155- runs-on : ubuntu-latest
156- needs : goreleaser
157- steps :
158- - uses : actions/checkout@v4
159- with :
160- fetch-depth : 0
161- - name : Update major release tag
162- id : major-tag
163- run : |
164- # returns v1, v2, etc, everything to the left of the leftmost dot.
165- MAJOR_VERSION="${GITHUB_REF_NAME%%.*}"
166- MAJOR_TAG="release-${MAJOR_VERSION}"
167- echo "MAJOR_VERSION=${MAJOR_VERSION}" >> "$GITHUB_OUTPUT"
168- echo "MAJOR_TAG=${MAJOR_TAG}" >> "$GITHUB_OUTPUT"
169- git tag -f "${MAJOR_TAG}"
170- git push -f origin "${MAJOR_TAG}"
171- - name : Fetch assets from actual release
172- env :
173- MAJOR_TAG : ${{ steps.major-tag.outputs.MAJOR_TAG }}
174- GH_TOKEN : ${{ github.token }}
175- run : |
176- gh release download --pattern="cli_*.tar.gz" "${GITHUB_REF_NAME}"
177- - name : Create or update release
178- uses : softprops/action-gh-release@v2
179- with :
180- body : Latest release for the ${{ steps.major-tag.outputs.MAJOR_VERSION }} branch of the CLI
181- name : Latest ${{ steps.major-tag.outputs.MAJOR_VERSION }} CLI
182- tag_name : ${{ steps.major-tag.outputs.MAJOR_TAG }}
183- fail_on_unmatched_files : true
184- make_latest : false
185- files : " cli_*.tar.gz"
186-
187-
188- aur :
189- runs-on : ubuntu-latest
190- needs : goreleaser
191- container :
192- image : archlinux/archlinux:base-devel
193- steps :
194- - name : Prepare Arch Linux container
195- run : |
196- pacman -Syu --noconfirm git go openssh pacman-contrib
197- useradd -m aur
198-
199- # Setup SSH access to aur.archlinux.org
200- -
uses :
webfactory/[email protected] 201- with :
202- ssh-private-key : ${{ secrets.AUR_SSH_PRIVATE_KEY }}
203-
204- # Now actually clone AUR repo, and update to new version
205- - name : Build package and update AUR
206- run : |
207- export NEW_VERSION="${GITHUB_REF_NAME#v}"
208- sudo -u aur sh -c "mkdir -p /home/aur/.ssh && chmod 700 /home/aur/.ssh && touch /home/aur/.ssh/known_hosts && chmod 600 /home/aur/.ssh/known_hosts"
209- sudo -u aur sh -c "echo 'aur.archlinux.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEuBKrPzbawxA/k2g6NcyV5jmqwJ2s+zpgZGZ7tpLIcN' >> /home/aur/.ssh/known_hosts"
210- mkdir -p /root/.ssh && chmod 700 /root/.ssh && cp /home/aur/.ssh/known_hosts /root/.ssh/known_hosts && chown root: /root/.ssh/known_hosts
211- # clone repo
212- git clone [email protected] :debricked.git debricked 213- chown -R aur debricked/
214- cd debricked/
215- sudo -u aur NEW_VERSION="${NEW_VERSION}" make update_version
216- sudo -u aur make package
217- sudo -u aur git diff
218- sudo -u aur git config user.email [email protected] 219- sudo -u aur git config user.name "Debricked build bot"
220- git config --global --add safe.directory "$PWD"
221- make push
111+ # goreleaser:
112+ # runs-on: ubuntu-latest
113+ # needs: soot-wrapper
114+ # steps:
115+ # - uses: actions/checkout@v4
116+ # with:
117+ # fetch-depth: 0
118+
119+ # - run: git fetch --force --tags
120+
121+ # - uses: actions/setup-go@v5
122+ # with:
123+ # go-version: '>=1.20'
124+ # cache: true
125+
126+ # - name: Import GPG signing key
127+ # id: import_gpg
128+ # uses: crazy-max/ghaction-import-gpg@v6
129+ # with:
130+ # gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
131+ # passphrase: ${{ secrets.GPG_PASSPHRASE }}
132+
133+ # - name: Pull Supported Formats
134+ # run: |
135+ # cd cmd/debricked
136+ # go generate -v -x
137+
138+ # - uses: goreleaser/goreleaser-action@v6
139+ # with:
140+ # distribution: goreleaser
141+ # version: latest
142+ # args: release --clean
143+ # env:
144+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
145+ # GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
146+
147+ # - name: Download JAR archives
148+ # uses: actions/download-artifact@v4
149+
150+ # - name: Add archives with JARs to release
151+ # uses: softprops/action-gh-release@v2
152+ # if: startsWith(github.ref, 'refs/tags/')
153+ # with:
154+ # tag_name: ${{ github.ref_name }}
155+ # files: |
156+ # soot-wrapper-rev-hash.txt/soot-wrapper-rev-hash.txt
157+ # soot-wrapper-11.zip/soot-wrapper-11.zip
158+ # soot-wrapper-17.zip/soot-wrapper-17.zip
159+ # soot-wrapper-21.zip/soot-wrapper-21.zip
160+
161+ # major-release:
162+ # runs-on: ubuntu-latest
163+ # needs: goreleaser
164+ # steps:
165+ # - uses: actions/checkout@v4
166+ # with:
167+ # fetch-depth: 0
168+ # - name: Update major release tag
169+ # id: major-tag
170+ # run: |
171+ # # returns v1, v2, etc, everything to the left of the leftmost dot.
172+ # MAJOR_VERSION="${GITHUB_REF_NAME%%.*}"
173+ # MAJOR_TAG="release-${MAJOR_VERSION}"
174+ # echo "MAJOR_VERSION=${MAJOR_VERSION}" >> "$GITHUB_OUTPUT"
175+ # echo "MAJOR_TAG=${MAJOR_TAG}" >> "$GITHUB_OUTPUT"
176+ # git tag -f "${MAJOR_TAG}"
177+ # git push -f origin "${MAJOR_TAG}"
178+ # - name: Fetch assets from actual release
179+ # env:
180+ # MAJOR_TAG: ${{ steps.major-tag.outputs.MAJOR_TAG }}
181+ # GH_TOKEN: ${{ github.token }}
182+ # run: |
183+ # gh release download --pattern="cli_*.tar.gz" "${GITHUB_REF_NAME}"
184+ # - name: Create or update release
185+ # uses: softprops/action-gh-release@v2
186+ # with:
187+ # body: Latest release for the ${{ steps.major-tag.outputs.MAJOR_VERSION }} branch of the CLI
188+ # name: Latest ${{ steps.major-tag.outputs.MAJOR_VERSION }} CLI
189+ # tag_name: ${{ steps.major-tag.outputs.MAJOR_TAG }}
190+ # fail_on_unmatched_files: true
191+ # make_latest: false
192+ # files: "cli_*.tar.gz"
193+
194+
195+ # aur:
196+ # runs-on: ubuntu-latest
197+ # needs: goreleaser
198+ # container:
199+ # image: archlinux/archlinux:base-devel
200+ # steps:
201+ # - name: Prepare Arch Linux container
202+ # run: |
203+ # pacman -Syu --noconfirm git go openssh pacman-contrib
204+ # useradd -m aur
205+
206+ # # Setup SSH access to aur.archlinux.org
207+ # - uses: webfactory/[email protected] 208+ # with:
209+ # ssh-private-key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
210+
211+ # # Now actually clone AUR repo, and update to new version
212+ # - name: Build package and update AUR
213+ # run: |
214+ # export NEW_VERSION="${GITHUB_REF_NAME#v}"
215+ # sudo -u aur sh -c "mkdir -p /home/aur/.ssh && chmod 700 /home/aur/.ssh && touch /home/aur/.ssh/known_hosts && chmod 600 /home/aur/.ssh/known_hosts"
216+ # sudo -u aur sh -c "echo 'aur.archlinux.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEuBKrPzbawxA/k2g6NcyV5jmqwJ2s+zpgZGZ7tpLIcN' >> /home/aur/.ssh/known_hosts"
217+ # mkdir -p /root/.ssh && chmod 700 /root/.ssh && cp /home/aur/.ssh/known_hosts /root/.ssh/known_hosts && chown root: /root/.ssh/known_hosts
218+ # # clone repo
219+ # git clone [email protected] :debricked.git debricked 220+ # chown -R aur debricked/
221+ # cd debricked/
222+ # sudo -u aur NEW_VERSION="${NEW_VERSION}" make update_version
223+ # sudo -u aur make package
224+ # sudo -u aur git diff
225+ # sudo -u aur git config user.email [email protected] 226+ # sudo -u aur git config user.name "Debricked build bot"
227+ # git config --global --add safe.directory "$PWD"
228+ # make push
0 commit comments