Skip to content

Commit 8307425

Browse files
committed
fix: test release script
1 parent f029063 commit 8307425

File tree

3 files changed

+145
-90
lines changed

3 files changed

+145
-90
lines changed

.github/workflows/cd.yml

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: CD
22

33
on:
44
push:
5-
tags:
6-
- '*.*.*'
5+
branches:
6+
- test-new-release-branch
77

88
jobs:
99
benchmark_tests:
@@ -47,24 +47,29 @@ jobs:
4747
with:
4848
java-version: 11
4949
distribution: 'zulu'
50-
- name: status
51-
run: echo Build is tagged. Uploading artifact ${{ steps.vars.outputs.tag }} to maven central.
52-
- name: Publish GitHub Pages
53-
run: ./gradlew --info -Dbuild.version="${{ steps.vars.outputs.tag }}" mkdocsPublish
54-
- name: deploy to sonatype and publish to maven central
55-
run: ./gradlew setLibraryVersion -Dbuild.version="${{ steps.vars.outputs.tag }}" publishToSonatype closeAndReleaseSonatypeStagingRepository
50+
- run: scripts/setup-signing-key.sh
5651
env:
57-
GITHUB_TAG: ${{ steps.vars.outputs.tag }}
58-
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
59-
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
60-
PGP_KEY: ${{ secrets.PGP_KEY }}
61-
PGP_PASSWORD: ${{ secrets.PGP_PASSWORD }}
62-
- name: Slack notification
63-
if: success() # only when previous step succeeds
64-
env:
65-
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
66-
SLACK_USERNAME: Github Release Action.
67-
SLACK_CHANNEL: java-sync
68-
uses: Ilshidur/action-slack@master
69-
with:
70-
args: 'Version: <https://github.com/commercetools/commercetools-sync-java/releases/tag/${{ steps.vars.outputs.tag }}|${{ steps.vars.outputs.tag }}> of the library has been published to the <https://repo1.maven.org/maven2/com/commercetools/commercetools-sync-java/|Maven Central>.'
52+
DECRYPTER: ${{ secrets.DECRYPTER }}
53+
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
54+
PASSPHRASE: ${{ secrets.PASSPHRASE }}
55+
# - name: status
56+
# run: echo Build is tagged. Uploading artifact ${{ steps.vars.outputs.tag }} to maven central.
57+
# - name: Publish GitHub Pages
58+
# run: ./gradlew --info -Dbuild.version="${{ steps.vars.outputs.tag }}" mkdocsPublish
59+
# - name: deploy to sonatype and publish to maven central
60+
# run: ./gradlew setLibraryVersion -Dbuild.version="${{ steps.vars.outputs.tag }}" publishToSonatype closeAndReleaseSonatypeStagingRepository
61+
# env:
62+
# GITHUB_TAG: ${{ steps.vars.outputs.tag }}
63+
# MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
64+
# MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
65+
# PGP_KEY: ${{ secrets.PGP_KEY }}
66+
# PGP_PASSWORD: ${{ secrets.PGP_PASSWORD }}
67+
# - name: Slack notification
68+
# if: success() # only when previous step succeeds
69+
# env:
70+
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
71+
# SLACK_USERNAME: Github Release Action.
72+
# SLACK_CHANNEL: java-sync
73+
# uses: Ilshidur/action-slack@master
74+
# with:
75+
# args: 'Version: <https://github.com/commercetools/commercetools-sync-java/releases/tag/${{ steps.vars.outputs.tag }}|${{ steps.vars.outputs.tag }}> of the library has been published to the <https://repo1.maven.org/maven2/com/commercetools/commercetools-sync-java/|Maven Central>.'

.github/workflows/ci.yml

Lines changed: 68 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,68 @@
1-
name: CI
2-
3-
on: [push]
4-
5-
jobs:
6-
checks:
7-
name: Code Checks
8-
runs-on: ubuntu-latest
9-
steps:
10-
- name: Git Checkout
11-
uses: actions/checkout@v4
12-
- name: Generate Dependency Updates Report
13-
run: ./gradlew clean dependencyUpdates
14-
- name: Code formatting
15-
run: ./gradlew spotlessCheck
16-
- name: PMD
17-
run: ./gradlew pmdBenchmark pmdIntegrationTest pmdMain pmdTest
18-
- name: Spotbugs
19-
run: ./gradlew spotbugsBenchmark spotbugsIntegrationTest spotbugsMain spotbugsTest
20-
- name: mkdocsBuild
21-
run: ./gradlew mkdocsBuild
22-
tests:
23-
name: Tests
24-
concurrency: tests
25-
needs: checks
26-
runs-on: ubuntu-latest
27-
steps:
28-
- uses: actions/checkout@v4
29-
- uses: actions/setup-java@v4
30-
with:
31-
java-version: 11
32-
distribution: 'zulu'
33-
- name: Build with Gradle
34-
run: ./gradlew clean setLibraryVersion test integrationTest jacocoTestCoverageVerification jacocoTestReport
35-
env:
36-
SOURCE_PROJECT_KEY: java-sync-source
37-
SOURCE_CLIENT_ID: ${{ secrets.SOURCE_CLIENT_ID }}
38-
SOURCE_CLIENT_SECRET: ${{ secrets.SOURCE_CLIENT_SECRET }}
39-
TARGET_PROJECT_KEY: java-sync-target
40-
TARGET_CLIENT_ID: ${{ secrets.TARGET_CLIENT_ID }}
41-
TARGET_CLIENT_SECRET: ${{ secrets.TARGET_CLIENT_SECRET }}
42-
- name: Codecov
43-
uses: codecov/codecov-action@v4
44-
benchmark_tests:
45-
name: benchmark tests
46-
concurrency: benchmark_tests
47-
needs: tests
48-
runs-on: ubuntu-latest
49-
env:
50-
SOURCE_PROJECT_KEY: java-sync-target-dev2
51-
SOURCE_CLIENT_ID: ${{ secrets.TARGET_CLIENT_ID_2 }}
52-
SOURCE_CLIENT_SECRET: ${{ secrets.TARGET_CLIENT_SECRET_2 }}
53-
TARGET_PROJECT_KEY: java-sync-target-dev2
54-
TARGET_CLIENT_ID: ${{ secrets.TARGET_CLIENT_ID_2 }}
55-
TARGET_CLIENT_SECRET: ${{ secrets.TARGET_CLIENT_SECRET_2 }}
56-
GRGIT_USER: ${{ secrets.GRGIT_USER }}
57-
SUBMIT_BENCHMARK_RESULT: false
58-
steps:
59-
- name: Git Checkout
60-
uses: actions/checkout@v4
61-
- name: Fetch Library version
62-
id: vars
63-
run: echo ::set-output name=libVersion::${GITHUB_REF#refs/*/}
64-
- name: benchmark test
65-
if: ${{ success() }}
66-
run: ./gradlew clean setLibraryVersion benchmark
67-
env:
68-
GITHUB_TAG: ${{ steps.vars.outputs.libVersion }}
1+
#name: CI
2+
#
3+
#on: [push]
4+
#
5+
#jobs:
6+
# checks:
7+
# name: Code Checks
8+
# runs-on: ubuntu-latest
9+
# steps:
10+
# - name: Git Checkout
11+
# uses: actions/checkout@v4
12+
# - name: Generate Dependency Updates Report
13+
# run: ./gradlew clean dependencyUpdates
14+
# - name: Code formatting
15+
# run: ./gradlew spotlessCheck
16+
# - name: PMD
17+
# run: ./gradlew pmdBenchmark pmdIntegrationTest pmdMain pmdTest
18+
# - name: Spotbugs
19+
# run: ./gradlew spotbugsBenchmark spotbugsIntegrationTest spotbugsMain spotbugsTest
20+
# - name: mkdocsBuild
21+
# run: ./gradlew mkdocsBuild
22+
# tests:
23+
# name: Tests
24+
# concurrency: tests
25+
# needs: checks
26+
# runs-on: ubuntu-latest
27+
# steps:
28+
# - uses: actions/checkout@v4
29+
# - uses: actions/setup-java@v4
30+
# with:
31+
# java-version: 11
32+
# distribution: 'zulu'
33+
# - name: Build with Gradle
34+
# run: ./gradlew clean setLibraryVersion test integrationTest jacocoTestCoverageVerification jacocoTestReport
35+
# env:
36+
# SOURCE_PROJECT_KEY: java-sync-source
37+
# SOURCE_CLIENT_ID: ${{ secrets.SOURCE_CLIENT_ID }}
38+
# SOURCE_CLIENT_SECRET: ${{ secrets.SOURCE_CLIENT_SECRET }}
39+
# TARGET_PROJECT_KEY: java-sync-target
40+
# TARGET_CLIENT_ID: ${{ secrets.TARGET_CLIENT_ID }}
41+
# TARGET_CLIENT_SECRET: ${{ secrets.TARGET_CLIENT_SECRET }}
42+
# - name: Codecov
43+
# uses: codecov/codecov-action@v4
44+
# benchmark_tests:
45+
# name: benchmark tests
46+
# concurrency: benchmark_tests
47+
# needs: tests
48+
# runs-on: ubuntu-latest
49+
# env:
50+
# SOURCE_PROJECT_KEY: java-sync-target-dev2
51+
# SOURCE_CLIENT_ID: ${{ secrets.TARGET_CLIENT_ID_2 }}
52+
# SOURCE_CLIENT_SECRET: ${{ secrets.TARGET_CLIENT_SECRET_2 }}
53+
# TARGET_PROJECT_KEY: java-sync-target-dev2
54+
# TARGET_CLIENT_ID: ${{ secrets.TARGET_CLIENT_ID_2 }}
55+
# TARGET_CLIENT_SECRET: ${{ secrets.TARGET_CLIENT_SECRET_2 }}
56+
# GRGIT_USER: ${{ secrets.GRGIT_USER }}
57+
# SUBMIT_BENCHMARK_RESULT: false
58+
# steps:
59+
# - name: Git Checkout
60+
# uses: actions/checkout@v4
61+
# - name: Fetch Library version
62+
# id: vars
63+
# run: echo ::set-output name=libVersion::${GITHUB_REF#refs/*/}
64+
# - name: benchmark test
65+
# if: ${{ success() }}
66+
# run: ./gradlew clean setLibraryVersion benchmark
67+
# env:
68+
# GITHUB_TAG: ${{ steps.vars.outputs.libVersion }}

scripts/setup-signing-key.sh

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
# Decrypt credentials
6+
echo ${DECRYPTER} | base64 --decode > decrypter.json
7+
echo ${SIGNING_KEY} | base64 --decode > signing_key.enc
8+
echo ${PASSPHRASE} | base64 --decode > signing_passphrase.enc
9+
10+
gcloud auth activate-service-account --key-file decrypter.json
11+
12+
echo "Decrypt signing secrets"
13+
14+
gcloud kms decrypt \
15+
--project=commercetools-platform \
16+
--location=global \
17+
--keyring=devtooling \
18+
--key=java-sdk-v2 \
19+
--ciphertext-file=signing_key.enc \
20+
--plaintext-file=signing_key.asc
21+
22+
gcloud kms decrypt \
23+
--project=commercetools-platform \
24+
--location=global \
25+
--keyring=devtooling \
26+
--key=java-sdk-v2 \
27+
--ciphertext-file=signing_passphrase.enc \
28+
--plaintext-file=signing_passphrase.txt
29+
30+
# Import the GPG key
31+
set +e
32+
echo "Importing the signing key"
33+
gpg --import --no-tty --batch --yes signing_key.asc
34+
echo " - done"
35+
set -e
36+
37+
# List available GPG keys
38+
gpg -K
39+
40+
KEYNAME=`gpg --with-colons --keyid-format long --list-keys [email protected] | grep fpr | cut -d ':' -f 10`
41+
42+
mkdir -p ~/.gradle
43+
touch ~/.gradle/gradle.properties
44+
45+
echo "signing.gnupg.executable=gpg" >> ~/.gradle/gradle.properties
46+
echo "signing.gnupg.keyName=$KEYNAME" >> ~/.gradle/gradle.properties
47+
echo "signing.gnupg.passphrase=$(<signing_passphrase.txt)" >> ~/.gradle/gradle.properties
48+
49+
rm -rf signing_passphrase.txt signing_passphrase.enc signing_key.enc decrypter.json signing_key.asc
50+

0 commit comments

Comments
 (0)