Skip to content

Commit

Permalink
ci: Using redis github workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
Julien Ruaux committed Mar 28, 2023
1 parent 7b778cc commit a6c99de
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 242 deletions.
31 changes: 2 additions & 29 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,5 @@ on:

jobs:
build:

runs-on: ubuntu-latest
if: startsWith(github.event.head_commit.message, 'Releasing version') != true

steps:
- uses: actions/checkout@v3

- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 11

- uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build
run: ./mvnw -B package --file pom.xml

- name: Show Reports
uses: actions/upload-artifact@v3
if: failure()
with:
name: reports-${{ runner.os }}
path: build/
name: 'Build'
uses: redis-field-engineering/redis-github-workflows/.github/workflows/build-maven.yml@main
111 changes: 26 additions & 85 deletions .github/workflows/early-access.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,89 +6,30 @@ on:

jobs:
earlyaccess:
name: EarlyAccess
name: 'Early Access'
if: github.repository == 'redis-field-engineering/redis-kafka-connect' && startsWith(github.event.head_commit.message, 'Releasing version') != true
uses: redis-field-engineering/redis-github-workflows/.github/workflows/early-access-maven.yml@main
with:
jreleaser-arguments: full-release
java-version: '17'
secrets:
github-token: ${{ secrets.GIT_ACCESS_TOKEN }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
gpg-public-key: ${{ secrets.GPG_PUBLIC_KEY }}
gpg-secret-key: ${{ secrets.GPG_SECRET_KEY }}
sonatype-username: ${{ secrets.SONATYPE_USERNAME }}
sonatype-password: ${{ secrets.SONATYPE_PASSWORD }}
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}

docker:
name: 'Docker'
if: startsWith(github.event.head_commit.message, 'Releasing version') != true
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 11

- uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build
run: ./mvnw --no-transfer-progress -B --file pom.xml verify

- name: Show Reports
uses: actions/upload-artifact@v3
if: failure()
with:
name: reports-${{ runner.os }}
path: target/

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3

- name: Version
id: vars
run: echo ::set-output name=version::$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)

- name: Assemble
uses: jreleaser/release-action@v1
with:
arguments: assemble
env:
JRELEASER_PROJECT_VERSION: ${{ steps.vars.outputs.version }}
JRELEASER_GITHUB_TOKEN: ${{ secrets.GIT_ACCESS_TOKEN }}

- name: Release
uses: jreleaser/release-action@v1
with:
arguments: full-release
env:
JRELEASER_PROJECT_VERSION: ${{ steps.vars.outputs.version }}
JRELEASER_GITHUB_TOKEN: ${{ secrets.GIT_ACCESS_TOKEN }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
JRELEASER_SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

- name: JReleaser output
if: always()
uses: actions/upload-artifact@v3
with:
name: artifact
path: |
out/jreleaser/trace.log
out/jreleaser/output.properties
out/jreleaser/release/CHANGELOG.md
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push
uses: docker/build-push-action@v3
with:
push: ${{ github.event_name != 'pull_request' }}
tags: fieldengineering/redis-kafka-connect:early-access
uses: redis-field-engineering/redis-github-workflows/.github/workflows/docker.yml@main
with:
tags: fieldengineering/redis-kafka-connect:early-access
secrets:
github-token: ${{ secrets.GIT_ACCESS_TOKEN }}
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
49 changes: 14 additions & 35 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,19 @@ on:
workflow_dispatch:
inputs:
version:
description: "Release version"
description: 'Release version'
required: true
branch:
description: 'Branch'
default: 'master'
required: true
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 11

- uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set release version
run: |
VERSION=${{ github.event.inputs.version }}
./mvnw versions:set -DnewVersion=$VERSION
- name: Build
run: ./mvnw --no-transfer-progress -B --file pom.xml process-resources

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GIT_ACCESS_TOKEN }}
publish_dir: ./target/generated-docs
jobs:
publish:
name: Publish
uses: redis-field-engineering/redis-github-workflows/.github/workflows/publish-maven.yml@main
with:
branch: ${{ github.event.inputs.branch }}
version: ${{ github.event.inputs.version }}
secrets:
github-token: ${{ secrets.GIT_ACCESS_TOKEN }}
123 changes: 30 additions & 93 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,101 +4,38 @@ on:
workflow_dispatch:
inputs:
version:
description: "Release version"
description: 'Release version'
required: true
ref:
description: "Branch, tag or SHA to checkout"
required: false
branch:
description: 'Branch'
default: 'master'
required: true

jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.ref }}
fetch-depth: 0

- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 11

- uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set release version
run: |
VERSION=${{ github.event.inputs.version }}
./mvnw versions:set -DnewVersion=$VERSION
- name: Build
run: ./mvnw --no-transfer-progress -B --file pom.xml verify

- name: Show Reports
uses: actions/upload-artifact@v3
if: failure()
with:
name: reports-${{ runner.os }}
path: target/

- name: Release
uses: jreleaser/release-action@v1
env:
JRELEASER_PROJECT_VERSION: ${{ github.event.inputs.version }}
JRELEASER_GITHUB_TOKEN: ${{ secrets.GIT_ACCESS_TOKEN }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY}}
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
JRELEASER_SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

- name: Commit release version
run: |
VERSION=${{ github.event.inputs.version }}
sed -i -e "s/^\:project-version\:\ \ \ .*/:project-version: $VERSION/g" README.adoc
git add pom.xml
git add README.adoc
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "GitHub Action"
git commit -a -m "Releasing version $VERSION"
git push origin ${{ github.event.inputs.ref }}
- name: JReleaser output
if: always()
uses: actions/upload-artifact@v3
with:
name: artifact
path: |
out/jreleaser/trace.log
out/jreleaser/output.properties
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push
uses: docker/build-push-action@v3
with:
push: ${{ github.event_name != 'pull_request' }}
tags: fieldengineering/redis-kafka-connect:latest,fieldengineering/redis-kafka-connect:${{ github.event.inputs.version }}

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GIT_ACCESS_TOKEN }}
publish_dir: ./target/generated-docs
uses: redis-field-engineering/redis-github-workflows/.github/workflows/release-maven.yml@main
with:
branch: ${{ github.event.inputs.branch }}
version: ${{ github.event.inputs.version }}
publish: true
secrets:
github-token: ${{ secrets.GIT_ACCESS_TOKEN }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
gpg-public-key: ${{ secrets.GPG_PUBLIC_KEY }}
gpg-secret-key: ${{ secrets.GPG_SECRET_KEY }}
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
sonatype-username: ${{ secrets.SONATYPE_USERNAME }}
sonatype-password: ${{ secrets.SONATYPE_PASSWORD }}
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}

docker:
name: 'Docker'
uses: redis-field-engineering/redis-github-workflows/.github/workflows/docker.yml@main
with:
tags: fieldengineering/redis-kafka-connect:latest,fieldengineering/redis-kafka-connect:${{ github.event.inputs.version }}
secrets:
github-token: ${{ secrets.GIT_ACCESS_TOKEN }}
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}

0 comments on commit a6c99de

Please sign in to comment.