v++ #142
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Main pipeline | |
on: | |
push: | |
branches: [ '**' ] | |
jobs: | |
build: | |
name: Build Jar | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Build with Gradle | |
run: ./gradlew assemble | |
test: | |
name: Run Unit Tests | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Run Tests with Gradle | |
run: ./gradlew test | |
- name: Publish Test Results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results | |
path: build/test-results | |
javadocs: | |
name: Generate Javadocs | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Generate Javadocs | |
run: ./gradlew javadoc | |
- name: Publish Javadocs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: javadocs | |
path: build/docs/javadoc | |
dry-run-release: | |
name: Dry Run Release | |
runs-on: ubuntu-latest | |
needs: [ test, javadocs ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Generate Dummy GPG Key | |
run: | | |
# Generate GPG key details | |
cat >key-details <<EOF | |
%echo Generating a dummy OpenPGP key | |
Key-Type: RSA | |
Key-Length: 2048 | |
Name-Real: Dummy User | |
Name-Comment: For testing | |
Name-Email: dummy@example.com | |
Expire-Date: 0 | |
%no-protection | |
%commit | |
%echo done | |
EOF | |
# Generate the dummy GPG key | |
gpg --batch --generate-key key-details | |
# Export the key in ASCII-armored format | |
gpg --armor --export-secret-keys > private.key | |
# Set environment variables for Gradle | |
echo "SIGNING_KEY<<EOF" >> $GITHUB_ENV | |
cat private.key >> $GITHUB_ENV | |
echo "EOF" >> $GITHUB_ENV | |
echo "SIGNING_PASSWORD=" >> $GITHUB_ENV | |
- name: Dry Run Release | |
env: | |
SIGNING_KEY: ${{ env.SIGNING_KEY }} | |
SIGNING_PASSWORD: ${{ env.SIGNING_PASSWORD }} | |
run: ./gradlew clean assembleBundle -info --stacktrace |