forked from jbangdev/jbang
-
Notifications
You must be signed in to change notification settings - Fork 2
98 lines (95 loc) · 3.54 KB
/
tag-and-release.yml
File metadata and controls
98 lines (95 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
on:
push:
tags:
- 'v*'
name: tag-and-release
jobs:
check-debug:
runs-on: ubuntu-latest
outputs:
debug_enabled: ${{ steps.check-msg.outputs.debug_enabled }}
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
- name: Extract tag commit message and set debug flag
id: check-msg
run: |
msg=$(git log -1 --pretty=%B)
echo "Commit message: $msg"
if echo "$msg" | grep -iq "#debug"; then
echo "debug_enabled=true" >> $GITHUB_OUTPUT
else
echo "debug_enabled=false" >> $GITHUB_OUTPUT
fi
build:
needs: check-debug
runs-on: ubuntu-latest
name: build-and-testing
env:
JRELEASER_SDKMAN_CONSUMER_KEY: ${{ secrets.SDKMAN_CONSUMER_KEY }}
JRELEASER_SDKMAN_CONSUMER_TOKEN: ${{ secrets.SDKMAN_CONSUMER_TOKEN }}
JRELEASER_TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
JRELEASER_TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
JRELEASER_TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
JRELEASER_TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
JRELEASER_BLUESKY_PASSWORD: ${{ secrets.BLUESKY_PASSWORD }}
JRELEASER_GITHUB_TOKEN: ${{ secrets.BREW_GITHUB_TOKEN }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
JRELEASER_MAVENCENTRAL_JBANG_USERNAME: ${{ secrets.OSSRH_USERNAME }}
JRELEASER_MAVENCENTRAL_JBANG_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
JRELEASER_VERSION: 1.19.0
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 0
- id: shared-build
uses: ./.github/actions/shared-build-setup
with:
java-version: 11
- name: build-gradle
run: ./gradlew --no-daemon clean build installDist publish --build-cache --scan -s
- name: integration-test
env:
_JBANG_TEST_JAVA_VERSION: 11
run: |
./gradlew integrationTest
- name: Arcive test results
uses: ./.github/actions/shared-test-archiving
if: always()
with:
prefix: ${{ steps.shared-build.outputs.github-short-sha }}-integration-test-
suffix: -jvm
- name: integration-test-bash
run: |
export PATH=`pwd`/build/install/jbang/bin:$PATH
pastdir=`pwd`
cd itests
./test_suite.sh
cd $pastdir
- name: version extract
id: version
run: |
RELEASE_VERSION=`cat build/tmp/version.txt`
echo "::set-output name=RELEASE_VERSION::$RELEASE_VERSION"
- name: Run JReleaser
uses: jreleaser/release-action@v2
env:
JRELEASER_PROJECT_VERSION: ${{steps.version.outputs.RELEASE_VERSION}}
with:
version: ${{ env.JRELEASER_VERSION }}
arguments: release
setup-java: false
- name: JReleaser output
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: jreleaser-release
path: |
out/jreleaser/trace.log
out/jreleaser/output.properties
- name: Start tmate session
if: always() && needs.check-debug.outputs.debug_enabled == 'true'
uses: mxschmitt/action-tmate@c0afd6f790e3a5564914980036ebf83216678101 # v3
with:
limit-access-to-actor: true