Skip to content

Commit 7984785

Browse files
authored
Release workflows (#27)
* Copy release workflows from cucumber-expressions I removed the python one as there's no python port of messages right now. Still needs: * exlixir * perl * php * Add action to publish `php` subtree to subrepo on release * Add release workflow for CPAN/Perl * Add script for releasing to elixir/hex
1 parent 093a1ab commit 7984785

File tree

9 files changed

+198
-0
lines changed

9 files changed

+198
-0
lines changed

.github/workflows/release-cpan.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Release Perl/CPAN
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
create-perl-release:
9+
name: Publish to CPAN
10+
runs-on: ubuntu-latest
11+
environment: Release
12+
permissions:
13+
contents: write
14+
steps:
15+
- uses: actions/checkout@v3
16+
- uses: cucumber/[email protected]
17+
with:
18+
cpan-user: ${{ secrets.CPAN_USER }}
19+
cpan-password: ${{ secrets.CPAN_PASSWORD }}
20+
working-directory: 'perl'

.github/workflows/release-github.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Release GitHub
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
create-github-release:
9+
name: Create GitHub Release and Git tag
10+
runs-on: ubuntu-latest
11+
environment: Release
12+
permissions:
13+
contents: write
14+
steps:
15+
- uses: actions/checkout@v3
16+
- uses: cucumber/[email protected]
17+
with:
18+
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release-go.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Release Go
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
read-version:
9+
name: Read version to release
10+
runs-on: ubuntu-latest
11+
outputs:
12+
version: ${{ steps.versions.outputs.changelog-latest-version }}
13+
steps:
14+
- uses: actions/checkout@v3
15+
- uses: cucumber/[email protected]
16+
id: versions
17+
18+
publish-go:
19+
name: Create go/v* tag
20+
runs-on: ubuntu-latest
21+
needs: read-version
22+
steps:
23+
- uses: actions/checkout@v3
24+
- name: Create git tag
25+
run: |
26+
git tag "go/v${{ needs.read-version.outputs.version }}"
27+
git push --tags

.github/workflows/release-hex.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Release Elixir hex package
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
create-hex-release:
9+
name: Publish to hex.pm
10+
runs-on: ubuntu-latest
11+
environment: Release
12+
permissions:
13+
contents: write
14+
steps:
15+
- uses: actions/checkout@v3
16+
- uses: erlef/setup-beam@v1
17+
- uses: cucumber/[email protected]
18+
with:
19+
hex-api-token: ${{ secrets.HEX_API_KEY }}
20+
working-directory: 'elixir'

.github/workflows/release-mvn.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Release Maven
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
publish-mvn:
9+
name: Publish Maven Package
10+
runs-on: ubuntu-latest
11+
environment: Release
12+
steps:
13+
- uses: actions/checkout@v3
14+
- uses: actions/setup-java@v3
15+
with:
16+
distribution: 'temurin'
17+
java-version: '11'
18+
cache: 'maven'
19+
- uses: cucumber/[email protected]
20+
with:
21+
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
22+
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
23+
nexus-username: cukebot
24+
nexus-password: ${{ secrets.SONATYPE_PASSWORD }}
25+
working-directory: java

.github/workflows/release-npm.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Release NPM
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
publish-npm:
9+
name: Publish NPM module
10+
runs-on: ubuntu-latest
11+
environment: Release
12+
steps:
13+
- uses: actions/checkout@v3
14+
- uses: actions/setup-node@v3
15+
with:
16+
node-version: '16'
17+
cache: 'npm'
18+
cache-dependency-path: javascript/package-lock.json
19+
- run: npm install-test
20+
working-directory: javascript
21+
- uses: cucumber/[email protected]
22+
with:
23+
npm-token: ${{ secrets.NPM_TOKEN }}
24+
working-directory: javascript

.github/workflows/release-nuget.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Release NuGet
2+
3+
on:
4+
push:
5+
branches:
6+
- "release/*"
7+
8+
jobs:
9+
publish-nuget:
10+
name: Publish package to NuGet.org
11+
runs-on: ubuntu-latest
12+
environment: Release
13+
steps:
14+
- uses: actions/checkout@v3
15+
- name: Setup .NET
16+
uses: actions/setup-dotnet@v2
17+
with:
18+
dotnet-version: 6.0.x
19+
- uses: cucumber/[email protected]
20+
with:
21+
nuget-api-key: ${{ secrets.NUGET_API_KEY }}
22+
working-directory: "dotnet"

.github/workflows/release-php.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Release PHP
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
create-php-release:
9+
name: Publish to PHP subrepo
10+
runs-on: ubuntu-latest
11+
environment: Release
12+
permissions:
13+
contents: write
14+
steps:
15+
- uses: actions/checkout@v3
16+
with:
17+
fetch-depth: '0'
18+
- uses: cucumber/[email protected]
19+
with:
20+
working-directory: php
21+
github-token: ${{ secrets.CUKEBOT_GITHUB_TOKEN }}

.github/workflows/release-rubygem.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Release RubyGems
2+
3+
on:
4+
push:
5+
branches: [release/*]
6+
7+
jobs:
8+
publish-rubygem:
9+
name: Publish Ruby Gem
10+
runs-on: ubuntu-latest
11+
environment: Release
12+
steps:
13+
- uses: actions/checkout@v3
14+
- uses: ruby/setup-ruby@v1
15+
with:
16+
ruby-version: '3.0.2'
17+
bundler-cache: true
18+
- uses: cucumber/[email protected]
19+
with:
20+
rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
21+
working_directory: ruby

0 commit comments

Comments
 (0)