|
6 | 6 | - main |
7 | 7 |
|
8 | 8 | jobs: |
9 | | - test: |
10 | | - runs-on: ubuntu-latest |
| 9 | + test-and-verify: |
| 10 | + uses: ./.github/workflows/shared-test.yml |
| 11 | + with: |
| 12 | + elixir-version: '1.13.4' |
| 13 | + otp-version: '24.3.4.6' |
11 | 14 |
|
12 | | - steps: |
13 | | - - uses: actions/checkout@v5 |
14 | | - - name: Setup JetBrains Runtime (JBR) |
15 | | - uses: ./.github/actions/setup-jbr |
16 | | - - name: Set up Elixir |
17 | | - uses: erlef/setup-beam@v1 |
18 | | - with: |
19 | | - otp-version: 24.3.4.6 |
20 | | - elixir-version: 1.13.0 |
21 | | - - name: Export OTP_RELEASE |
22 | | - run: echo "OTP_RELEASE=24.3.4.6" >> $GITHUB_ENV |
23 | | - - name: Export ERLANG_SDK_HOME |
24 | | - run: echo "ERLANG_SDK_HOME=`erl -eval 'io:format("~s", [code:root_dir()]).' -noshell -run init stop`" >> $GITHUB_ENV |
25 | | - - name: Grant execute permission for gradlew |
26 | | - run: chmod +x gradlew |
27 | | - - name: Compile Tests with Gradle |
28 | | - run: ./gradlew --stacktrace compileTestJava |
29 | | - - name: Get Elixir Source |
30 | | - run: ./gradlew --stacktrace getElixir |
31 | | - - name: Release Quoter |
32 | | - run: ./gradlew --stacktrace releaseQuoter |
33 | | - - name: Test with Gradle |
34 | | - run: ./gradlew --stacktrace test |
35 | | - verifyPlugin: |
36 | | - runs-on: ubuntu-latest |
37 | | - steps: |
38 | | - - uses: actions/checkout@v5 |
39 | | - - name: Setup JetBrains Runtime (JBR) |
40 | | - uses: ./.github/actions/setup-jbr |
41 | | - - name: Grant execute permission for gradlew |
42 | | - run: chmod +x gradlew |
43 | | - - name: Run Plugin Verifier |
44 | | - run: ./gradlew --stacktrace verifyPlugin |
45 | 15 | release: |
46 | | - needs: [ test, verifyPlugin ] |
| 16 | + needs: [ test-and-verify ] |
47 | 17 | runs-on: ubuntu-latest |
48 | 18 | steps: |
49 | 19 | - uses: actions/checkout@v5 |
50 | | - - name: Setup JetBrains Runtime (JBR) |
51 | | - uses: ./.github/actions/setup-jbr |
52 | | - - name: Grant execute permission for gradlew |
53 | | - run: chmod +x gradlew |
| 20 | + |
| 21 | + - name: Setup Build Environment |
| 22 | + uses: ./.github/actions/setup-env |
| 23 | + with: |
| 24 | + elixir-version: '' |
| 25 | + skip-jcef: 'true' |
| 26 | + |
54 | 27 | - name: Build with Gradle |
55 | 28 | run: ./gradlew buildPlugin |
| 29 | + |
56 | 30 | - name: Export ASSET_PATH |
57 | | - run: echo "ASSET_PATH=`ls -1 build/distributions/intellij-elixir-*.zip`" >> $GITHUB_ENV |
| 31 | + run: echo "ASSET_PATH=$(ls -1 build/distributions/intellij-elixir-*.zip)" >> $GITHUB_ENV |
| 32 | + |
58 | 33 | - name: Export ASSET_NAME |
59 | 34 | run: echo "ASSET_NAME=${ASSET_PATH#build/distributions/}" >> $GITHUB_ENV |
| 35 | + |
60 | 36 | - name: Export TAG |
61 | 37 | run: | |
62 | 38 | version_suffix_zip=${ASSET_NAME#intellij-elixir-} |
63 | 39 | echo "TAG=v${version_suffix_zip%.zip}" >> $GITHUB_ENV |
| 40 | +
|
64 | 41 | - name: Tag Commit |
65 | 42 | uses: hole19/git-tag-action@master |
66 | 43 | env: |
67 | | - # TAG set above with `set-env name=TAG` |
68 | 44 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 45 | + |
69 | 46 | - name: Create Release |
70 | 47 | id: create_release |
71 | 48 | uses: actions/create-release@latest |
|
75 | 52 | tag_name: ${{ env.TAG }} |
76 | 53 | release_name: ${{ env.TAG }} |
77 | 54 | prerelease: true |
| 55 | + |
78 | 56 | - name: Upload Release Asset |
79 | 57 | uses: actions/upload-release-asset@v1 |
80 | 58 | env: |
|
0 commit comments