Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup building and releasing with Github Actions #3

Merged
merged 118 commits into from
Nov 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
1680434
Setup Github Actions
mpkorstanje Oct 13, 2022
086bb67
Remove unused build file
mpkorstanje Oct 13, 2022
2e7fe82
Update some urls
mpkorstanje Oct 13, 2022
03c3dad
Fix elixir
mpkorstanje Oct 13, 2022
e29613b
Fix javascript
mpkorstanje Oct 13, 2022
5ab06e8
Fix elixir
mpkorstanje Oct 13, 2022
9c01e32
Fix javascript
mpkorstanje Oct 13, 2022
c15082a
Fix Go
mpkorstanje Oct 13, 2022
fadb195
Fix Elixir
mpkorstanje Oct 13, 2022
47ce2b8
Fix elixir
mpkorstanje Oct 13, 2022
4c3a75b
Fix elixir
mpkorstanje Oct 13, 2022
6e9e3b0
Fix perl
mpkorstanje Oct 13, 2022
b8e105d
Fix perl
mpkorstanje Oct 13, 2022
f3fb381
Fix python
mpkorstanje Oct 13, 2022
bc336bd
Fix python
mpkorstanje Oct 13, 2022
823683c
Fix javascript
mpkorstanje Oct 17, 2022
cebba4e
Fix dart
mpkorstanje Oct 17, 2022
6a1e960
Fix dart
mpkorstanje Oct 17, 2022
98fedc9
Fix dart
mpkorstanje Oct 17, 2022
0d47efb
Fix dart
mpkorstanje Oct 17, 2022
36108c9
Fix dart
mpkorstanje Oct 17, 2022
dbb6812
Fix c
mpkorstanje Oct 17, 2022
9639f88
Fix c
mpkorstanje Oct 17, 2022
d7ec8c1
Fix c
mpkorstanje Oct 17, 2022
6bf660e
Fix c
mpkorstanje Oct 17, 2022
13751f7
Fix c
mpkorstanje Oct 17, 2022
8888567
Fix c
mpkorstanje Oct 17, 2022
b784ba7
Fix c
mpkorstanje Oct 17, 2022
fb77385
Fix dart
mpkorstanje Oct 17, 2022
4cd4f2e
Fix dart
mpkorstanje Oct 17, 2022
97b7898
Fix dotnet
mpkorstanje Oct 17, 2022
e0916e0
Fix dotnet
mpkorstanje Oct 17, 2022
46e1c71
Fix dotnet
mpkorstanje Oct 17, 2022
4daf7d3
Include make everywhere
mpkorstanje Oct 17, 2022
a684476
fix dart make
mpkorstanje Oct 17, 2022
2cf7886
fix javascript make
mpkorstanje Oct 17, 2022
169524b
fix javascript make
mpkorstanje Oct 17, 2022
bc3a047
Fix javascript
mpkorstanje Oct 18, 2022
faaca09
Fix go make
mpkorstanje Oct 18, 2022
2a84dda
Fix php make
mpkorstanje Oct 18, 2022
f359acd
Fix dotnet make
mpkorstanje Oct 18, 2022
d9513b7
Fix dotnet make
mpkorstanje Oct 18, 2022
67630b7
Fix Java
mpkorstanje Oct 31, 2022
f59e541
Fix Others
mpkorstanje Oct 31, 2022
7124948
Fix Java
mpkorstanje Oct 31, 2022
8a74abf
Fix Java
mpkorstanje Oct 31, 2022
86de13a
Revert "Fix Java"
mpkorstanje Oct 31, 2022
f1ca080
Revert "Fix Java"
mpkorstanje Oct 31, 2022
e51abcd
Revert "Fix Others"
mpkorstanje Oct 31, 2022
b49c39a
Revert "Fix Java"
mpkorstanje Oct 31, 2022
e02e175
Fix Java
mpkorstanje Oct 31, 2022
c89875f
Fix Java
mpkorstanje Oct 31, 2022
ac96deb
Fix Go
mpkorstanje Oct 31, 2022
7bc38ce
Ignore idea files
mpkorstanje Oct 31, 2022
d6f49c1
Clean up common make file
mpkorstanje Oct 31, 2022
6ceda8e
Clean up dotnet makefile
mpkorstanje Oct 31, 2022
550c7b8
Clean up elixir makefile
mpkorstanje Oct 31, 2022
ac011ff
Clean up go makefile
mpkorstanje Oct 31, 2022
c180537
Clean up java makefile
mpkorstanje Oct 31, 2022
f4e9e4c
Clean up javascript makefile
mpkorstanje Oct 31, 2022
0f17884
Clean up Perl makefile
mpkorstanje Oct 31, 2022
624c727
Clean up Perl php
mpkorstanje Oct 31, 2022
78105f0
Clean up python make file
mpkorstanje Oct 31, 2022
e3b56bb
Clean up Ruby make file
mpkorstanje Oct 31, 2022
1435cbb
Clean up Unused file
mpkorstanje Oct 31, 2022
e142f19
Clean up root rsync
mpkorstanje Oct 31, 2022
42fabfc
Upgrade javascript make file
mpkorstanje Nov 1, 2022
d25e9b1
Upgrade java make file
mpkorstanje Nov 1, 2022
64b49cf
Upgrade javascript make file
mpkorstanje Nov 1, 2022
c848039
Upgrade java make file
mpkorstanje Nov 1, 2022
c2a08dc
Upgrade java make file
mpkorstanje Nov 1, 2022
0c6d68b
Upgrade ruby make file
mpkorstanje Nov 1, 2022
5878e9b
Upgrade ruby make file
mpkorstanje Nov 1, 2022
2db5884
Upgrade go make file
mpkorstanje Nov 1, 2022
5efa1f7
Upgrade php make file
mpkorstanje Nov 1, 2022
2beafd5
Upgrade php make file
mpkorstanje Nov 1, 2022
eacfbfd
Upgrade elixir make file
mpkorstanje Nov 2, 2022
abd19a0
Upgrade elixir make file
mpkorstanje Nov 2, 2022
7836b6a
Upgrade python make file
mpkorstanje Nov 2, 2022
abc436d
Upgrade perl make file
mpkorstanje Nov 2, 2022
dd52e45
Upgrade dotnet make file
mpkorstanje Nov 2, 2022
4eb1072
Upgrade dotnet make file
mpkorstanje Nov 2, 2022
ed6df01
Upgrade dart make file
mpkorstanje Nov 2, 2022
4ba877e
Upgrade c make file
mpkorstanje Nov 2, 2022
7d8e773
Upgrade perl make file
mpkorstanje Nov 2, 2022
6473652
Upgrade perl make file
mpkorstanje Nov 2, 2022
cf15b06
Upgrade objective-c make file
mpkorstanje Nov 2, 2022
bdf782a
Remove dependency between acceptance tests and code generation
mpkorstanje Nov 2, 2022
0ed0450
Add RELEASING.md
mpkorstanje Nov 2, 2022
8a84e1d
Fix release-go
mpkorstanje Nov 2, 2022
30303fa
Update Contributing
mpkorstanje Nov 3, 2022
56c7966
Update Contributing
mpkorstanje Nov 3, 2022
52f2b74
Update Contributing
mpkorstanje Nov 3, 2022
5ea8a8d
Harmonize make file for ruby
mpkorstanje Nov 3, 2022
8142ba7
Harmonize make file for ruby
mpkorstanje Nov 3, 2022
31c79e3
Harmonize make file for python
mpkorstanje Nov 3, 2022
36c14d8
Harmonize make file for php
mpkorstanje Nov 3, 2022
49be8e3
Read files without deprecated univeral newlines mode
mpkorstanje Nov 3, 2022
8224a1c
Harmonize make file for perl
mpkorstanje Nov 4, 2022
a885464
Harmonize make file for javascript
mpkorstanje Nov 4, 2022
85d8140
Harmonize make file for java
mpkorstanje Nov 4, 2022
4605d74
Harmonize make file for go
mpkorstanje Nov 4, 2022
b4dbbaf
Harmonize make file for elixir
mpkorstanje Nov 4, 2022
557d401
Harmonize make file for csharp
mpkorstanje Nov 4, 2022
2b4967b
Harmonize make file for dart
mpkorstanje Nov 4, 2022
306f182
Harmonize make file for go
mpkorstanje Nov 4, 2022
8d4bcd8
Read files without deprecated univeral newlines mode
mpkorstanje Nov 4, 2022
fed9605
Document clean
mpkorstanje Nov 4, 2022
e7132e6
Improve dev work flow
mpkorstanje Nov 4, 2022
aea32ab
Fix some flakes
mpkorstanje Nov 4, 2022
a0636ca
Fix some flakes
mpkorstanje Nov 4, 2022
a101b92
Debug
mpkorstanje Nov 4, 2022
df5c819
Exclude parser from sources
mpkorstanje Nov 4, 2022
2161609
Fix Elixir
mpkorstanje Nov 7, 2022
55f2092
Fix Dart
mpkorstanje Nov 7, 2022
1d47373
Fix Javascript
mpkorstanje Nov 7, 2022
554f835
Disable python markdown acceptance tests
mpkorstanje Nov 8, 2022
c645097
Updte Makefile
mpkorstanje Nov 8, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"extends": [
"config:base",
":preserveSemverRanges",
":rebaseStalePrs",
":disableDependencyDashboard"
],
"labels": [":robot: dependencies"],
"prHourlyLimit": 0,
"packageRules": [
{
"depTypeList": ["devDependencies", "dependencies"],
"updateTypes": ["minor", "patch"],
"automerge": true,
"automergeType": "branch"
}
]
}
20 changes: 20 additions & 0 deletions .github/workflows/release-cpan.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Release Perl/CPAN

on:
push:
branches: [release/*]

jobs:
create-perl-release:
name: Publish to CPAN
runs-on: ubuntu-latest
environment: Release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: cucumber/[email protected]
with:
cpan-user: ${{ secrets.CPAN_USER }}
cpan-password: ${{ secrets.CPAN_PASSWORD }}
working-directory: 'perl'
18 changes: 18 additions & 0 deletions .github/workflows/release-github.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Release GitHub

on:
push:
branches: [release/*]

jobs:
create-github-release:
name: Create GitHub Release and Git tag
runs-on: ubuntu-latest
environment: Release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: cucumber/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
27 changes: 27 additions & 0 deletions .github/workflows/release-go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Release Go

on:
push:
branches: [release/*]

jobs:
read-version:
name: Read version to release
runs-on: ubuntu-latest
outputs:
version: ${{ steps.versions.outputs.changelog-latest-version }}
steps:
- uses: actions/checkout@v3
- uses: cucumber/[email protected]
id: versions

publish-go:
name: Create go/v* tag
runs-on: ubuntu-latest
needs: read-version
steps:
- uses: actions/checkout@v3
- name: Create git tag
run: |
git tag "go/v${{ needs.read-version.outputs.version }}"
git push --tags
28 changes: 28 additions & 0 deletions .github/workflows/release-hex.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release Elixir hex package

on:
push:
branches: [release/*]

jobs:
create-hex-release:
name: Publish to hex.pm
runs-on: ubuntu-latest
environment: Release
permissions:
contents: write
steps:
- uses: actions/checkout@v3

- uses: erlef/setup-beam@v1
with:
otp-version: '22.2'
elixir-version: '1.10.x'

- name: Install Protoc
uses: arduino/setup-protoc@v1

- uses: cucumber/[email protected]
with:
hex-api-key: ${{ secrets.HEX_API_KEY }}
working-directory: 'elixir'
25 changes: 25 additions & 0 deletions .github/workflows/release-mvn.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Release Maven

on:
push:
branches: [release/*]

jobs:
publish-mvn:
name: Publish Maven Package
runs-on: ubuntu-latest
environment: Release
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
cache: 'maven'
- uses: cucumber/[email protected]
with:
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
nexus-username: cukebot
nexus-password: ${{ secrets.SONATYPE_PASSWORD }}
working-directory: java
24 changes: 24 additions & 0 deletions .github/workflows/release-npm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Release NPM

on:
push:
branches: [release/*]

jobs:
publish-npm:
name: Publish NPM module
runs-on: ubuntu-latest
environment: Release
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
cache: 'npm'
cache-dependency-path: javascript/package-lock.json
- run: npm install-test
working-directory: javascript
- uses: cucumber/[email protected]
with:
npm-token: ${{ secrets.NPM_TOKEN }}
working-directory: javascript
22 changes: 22 additions & 0 deletions .github/workflows/release-nuget.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Release NuGet

on:
push:
branches:
- "release/*"

jobs:
publish-nuget:
name: Publish package to NuGet.org
runs-on: ubuntu-latest
environment: Release
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
- uses: cucumber/[email protected]
with:
nuget-api-key: ${{ secrets.NUGET_API_KEY }}
working-directory: "dotnet"
21 changes: 21 additions & 0 deletions .github/workflows/release-php.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Release PHP

on:
push:
branches: [release/*]

jobs:
create-php-release:
name: Publish to PHP subrepo
runs-on: ubuntu-latest
environment: Release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: cucumber/[email protected]
with:
working-directory: php
github-token: ${{ secrets.CUKEBOT_GITHUB_TOKEN }}
21 changes: 21 additions & 0 deletions .github/workflows/release-rubygem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Release RubyGems

on:
push:
branches: [release/*]

jobs:
publish-rubygem:
name: Publish Ruby Gem
runs-on: ubuntu-latest
environment: Release
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0.2'
bundler-cache: true
- uses: cucumber/[email protected]
with:
rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
working_directory: ruby
22 changes: 22 additions & 0 deletions .github/workflows/test-c.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: test-c

on:
push:
branches:
- main
- renovate/**
pull_request:
branches:
- main
workflow_call:

jobs:
test-c:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: run make
run: make
working-directory: c
41 changes: 41 additions & 0 deletions .github/workflows/test-codegen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: test-codegen

on:
push:
branches:
- main
- renovate/**
pull_request:
branches:
- main
workflow_call:

jobs:
test-codegen:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- uses: actions/setup-dotnet@v3
with:
dotnet-version: '5.0.x'

- name: install berp
run: |
dotnet tool update Berp --version 1.3.0 --tool-path ~/bin
echo "~/bin" >> $GITHUB_PATH

- name: generate code for all languages
run: |
make clean-gherkin-languages
make copy-gherkin-languages

make clean-generate
make generate

- name: check the repo is still clean after generation
run: |
git status --porcelain
git diff HEAD
[ -z "$(git status --porcelain)" ]
25 changes: 25 additions & 0 deletions .github/workflows/test-dart.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: test-dart

on:
push:
branches:
- main
- renovate/**
pull_request:
branches:
- main
workflow_call:

jobs:
test-dart:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: install dart
uses: dart-lang/[email protected]

- name: run tests
run: dart test
working-directory: dart
28 changes: 28 additions & 0 deletions .github/workflows/test-dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: test-dotnet

on:
push:
branches:
- main
- renovate/**
pull_request:
branches:
- main
workflow_call:

jobs:
test-dotnet:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/setup-dotnet@v3
with:
dotnet-version: '5.0.x'

- run: dotnet test
working-directory: dotnet

- name: run acceptance tests
run: make acceptance
working-directory: dotnet
37 changes: 37 additions & 0 deletions .github/workflows/test-elixir.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: test-elixir

on:
push:
branches:
- main
- renovate/**
pull_request:
branches:
- main
workflow_call:

jobs:
test-elixir:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: '22.2'
elixir-version: '1.10.x'

- name: Install Protoc
uses: arduino/setup-protoc@v1

- run: |
mix local.hex --force
mix deps.get
working-directory: elixir

- run: mix test
working-directory: elixir

- name: run acceptance tests
run: make acceptance
working-directory: elixir
Loading