diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f128920..411675f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,11 +8,6 @@ on: branches: - master -env: - REGISTRY: europe-north1-docker.pkg.dev/artifact-registry-5n/dapla-pseudo-maven - IMAGE: dapla-dlp-pseudo-func - TAG: ${{ github.ref_name }}-${{ github.sha }} - jobs: build: runs-on: ubuntu-latest @@ -44,6 +39,6 @@ jobs: key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - - name: Build with Maven - run: mvn --batch-mode -P ssb-bip package + - name: Build with Maven and deploy to Artifact Registry + run: mvn --batch-mode -P ssb-bip deploy diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index c0d6ab8..5dea360 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -24,7 +24,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - # Draft the next Release notes as Pull Requests are merged into master + # Draft the next Release notes as Pull Requests are merged into main - uses: release-drafter/release-drafter@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b2c6e94..6f352fb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,20 +5,24 @@ on: branches: - release -env: - REGISTRY: europe-north1-docker.pkg.dev/artifact-registry-5n/dapla-pseudo-maven - IMAGE: dapla-dlp-pseudo-func - jobs: release: runs-on: ubuntu-latest permissions: - contents: read + contents: write id-token: write + packages: write steps: + - uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ secrets.DAPLA_BOT_APP_ID }} + private-key: ${{ secrets.DAPLA_BOT_PRIVATE_KEY }} + - uses: actions/checkout@v3 with: + token: ${{ steps.app-token.outputs.token }} ref: refs/heads/master - name: Set up JDK 21 @@ -45,39 +49,52 @@ jobs: - name: Configure Git user run: | - git config user.email "ghactions@ssb.no" - git config user.name "GitHub Actions" + git config user.name "dapla-bot[bot]" + git config user.email "143391972+dapla-bot[bot]@users.noreply.github.com" - - name: Perform release and publish jar + - name: Setup Maven authentication to GitHub packages + uses: s4u/maven-settings-action@v2.8.0 + id: maven_settings + with: + servers: '[{"id": "github","configuration": {"httpHeaders": {"property": {"name": "Authorization","value": "Bearer ${{ secrets.GITHUB_TOKEN }}"}}}}]' + + - name: Maven release and deploy to GitHub packages id: release_jar env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} run: | - mvn --batch-mode -P ssb-bip -DskipTests release:prepare + # Get the release version from the pom.xml before the next snapshot increment + VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | sed "s/-SNAPSHOT//") + echo "version=${VERSION}" >> $GITHUB_OUTPUT + # Perform the release/deploy and increment the version to the next snapshot + mvn --batch-mode release:prepare -Darguments="-Dmaven.deploy.skip=true -DskipTests" + mvn --batch-mode release:perform TAG=$(git describe --abbrev=0 --tags) echo "tag=${TAG}" >> $GITHUB_OUTPUT - mvn --batch-mode -P ssb-bip -DskipTests release:perform - ARTIFACT_ID=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout) - echo "artifact_id=${ARTIFACT_ID}" >> $GITHUB_OUTPUT - ARTIFACT_PATH=$(realpath ./target/$ARTIFACT_ID*.jar) - echo "artifact_path=${ARTIFACT_PATH}" >> $GITHUB_OUTPUT - - - env: - EVENT_CONTEXT: ${{ toJSON(github.event) }} - run: | - echo $EVENT_CONTEXT - name: Create GitHub release draft uses: release-drafter/release-drafter@v5 id: create_github_release env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} with: tag: ${{ steps.release_jar.outputs.tag }} + - name: Upload assets to GitHub release draft + env: + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + run: | + ARTIFACT_ID=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout) + # Get all files matching the artifact id and version (source, javadoc, etc.) + ARTIFACT_GLOB=(./target/$ARTIFACT_ID-${{ steps.release_jar.outputs.version }}*.jar) + for file in "${ARTIFACT_GLOB[@]}"; do + echo "Uploading $file" + gh release upload ${{ steps.create_github_release.outputs.tag_name }} $file + done + - name: Publish GitHub release uses: eregon/publish-release@v1 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} with: - release_id: ${{ steps.create_github_release.outputs.id }} + release_id: ${{ steps.create_github_release.outputs.id }} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 512e973..d4d2555 100644 --- a/pom.xml +++ b/pom.xml @@ -9,11 +9,12 @@ dapla-dlp-pseudo-func - 11 + 21 ${java.version} ${java.version} UTF-8 - artifactregistry://europe-north1-maven.pkg.dev/artifact-registry-5n/dapla-pseudo-maven + artifactregistry://europe-north1-maven.pkg.dev/artifact-registry-5n/dapla-pseudo-maven/ + statisticsnorway/dapla-dlp-pseudo-func 3.24.2 @@ -31,12 +32,12 @@ 2.1.4 10.8.1 - 3.1.2 - 3.8.1 - 3.3.0 - 3.2.4 - 2.22.2 - 3.2.1 + 3.3.1 + 3.11.0 + 3.6.2 + 3.5.1 + 3.2.2 + 3.3.0 0.8.8 3.9.1.2184 @@ -220,7 +221,7 @@ artifact-registry - ${artifact-registry.url}/maven-releases + ${artifact-registry.url} true @@ -230,7 +231,7 @@ artifact-registry-snapshot - ${artifact-registry.url}/maven-snapshots + ${artifact-registry.url} false @@ -296,14 +297,21 @@ artifact-registry - ${artifact-registry.url}/maven-releases + ${artifact-registry.url} artifact-registry-snapshots - ${artifact-registry.url}/maven-snapshots + ${artifact-registry.url} + + + github + GitHub Packages + https://maven.pkg.github.com/${github.repository} + +