|
1 | 1 | name: release |
2 | 2 |
|
| 3 | +permissions: |
| 4 | + contents: write |
| 5 | + packages: write |
| 6 | + id-token: write |
| 7 | + |
3 | 8 | on: |
4 | | - push: |
5 | | - tags: |
6 | | - - 'v*' |
| 9 | + workflow_dispatch: |
| 10 | + inputs: |
| 11 | + next_version: |
| 12 | + description: | |
| 13 | + Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc |
| 14 | + required: true |
| 15 | + default: "skip" |
| 16 | + repository_dispatch: |
| 17 | + types: [do-release] |
7 | 18 |
|
8 | 19 | jobs: |
9 | 20 | release: |
10 | | - runs-on: ubuntu-latest |
11 | | - steps: |
12 | | - - name: Checkout monorepo |
13 | | - uses: actions/checkout@v7 |
14 | | - with: |
15 | | - repository: interscript/interscript |
16 | | - |
17 | | - - name: Bootstrap packages |
18 | | - run: ruby bootstrap.rb |
19 | | - |
20 | | - - uses: ruby/setup-ruby@v1 |
21 | | - with: |
22 | | - ruby-version: '3.3' |
23 | | - bundler-cache: true |
24 | | - working-directory: ruby |
25 | | - |
26 | | - - uses: actions/setup-node@v7 |
27 | | - with: |
28 | | - node-version: '22' |
29 | | - cache: npm |
30 | | - cache-dependency-path: js/package-lock.json |
31 | | - |
32 | | - - name: Install gems |
33 | | - working-directory: ruby |
34 | | - run: bundle install --jobs 4 --retry 3 --with jsexec --without secryst |
35 | | - |
36 | | - - name: Test Ruby package |
37 | | - working-directory: ruby |
38 | | - run: bundle exec rake |
39 | | - |
40 | | - - name: Test JS package |
41 | | - working-directory: js |
42 | | - run: npm install && npm run prepareMaps && npm test |
43 | | - |
44 | | - - name: Publish to rubygems.org |
45 | | - env: |
46 | | - RUBYGEMS_API_KEY: ${{ secrets.INTERSCRIPT_RUBYGEMS_API_KEY }} |
47 | | - working-directory: ruby |
48 | | - run: | |
49 | | - mkdir -p ~/.gem |
50 | | - printf -- "---\n:rubygems_api_key: %s\n" "$RUBYGEMS_API_KEY" > ~/.gem/credentials |
51 | | - chmod 0600 ~/.gem/credentials |
52 | | - gem install gem-release |
53 | | - gem release |
| 21 | + uses: metanorma/ci/.github/workflows/rubygems-release.yml@main |
| 22 | + with: |
| 23 | + next_version: ${{ github.event.inputs.next_version }} |
| 24 | + secrets: |
| 25 | + rubygems-api-key: ${{ secrets.INTERSCRIPT_RUBYGEMS_API_KEY }} |
| 26 | + pat_token: ${{ secrets.GITHUB_TOKEN }} |
0 commit comments