From f3241115a1ef9d437bef069e8e83251f63849eab Mon Sep 17 00:00:00 2001 From: Matej Novotny Date: Tue, 26 Mar 2024 23:13:09 +0100 Subject: [PATCH 1/5] Add setup for release automation --- .github/dependabot.yml | 13 ++++++ .github/project.yml | 4 ++ .github/release/maven-settings.xml.gpg | Bin 0 -> 450 bytes .github/release/weld-sign.asc.gpg | Bin 0 -> 3976 bytes .github/workflows/ci-actions.yml | 6 ++- .github/workflows/release.yml | 56 +++++++++++++++++++++++++ pom.xml | 2 +- 7 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/project.yml create mode 100644 .github/release/maven-settings.xml.gpg create mode 100644 .github/release/weld-sign.asc.gpg create mode 100644 .github/workflows/release.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..ae162c64 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +version: 2 +updates: +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 15 + target-branch: master +- package-ecosystem: maven + directory: "/" + schedule: + interval: monthly + open-pull-requests-limit: 10 diff --git a/.github/project.yml b/.github/project.yml new file mode 100644 index 00000000..a0c680e2 --- /dev/null +++ b/.github/project.yml @@ -0,0 +1,4 @@ +name: Weld Parent +release: + current-version: 4.0.2.Final + next-version: 4.0.3-SNAPSHOT diff --git a/.github/release/maven-settings.xml.gpg b/.github/release/maven-settings.xml.gpg new file mode 100644 index 0000000000000000000000000000000000000000..a0289e9a013921a6de789aaaa439fbf0188bd7fb GIT binary patch literal 450 zcmV;z0X_bV4Fm}T0-BIPRCX?HQ|IpSnq<`?* z!qV+{L}N%)fzz!?BVXjC{=D0d*{&c4&)NU?V*9JMmXwm$1Pn<71p0^Q`B>toMS?S0 z_F<(zI>1n~GpL9t{xTJxmry?>zj|>r)Z%HRwIzLsJ%Q9M~x;MY9g6bW~Qgz%s+ z3#;oIDFv4Y29@aya^Z%jW(bPeaBrMOC*LbVs01=m1$r~7F~0tcuyyn9TVOXt%TPJ; spMGvrw`YHrqTl}-!o4IG+r}@jney@+SZP~~(ALtS7SsAdmJnP-=bIAdK>z>% literal 0 HcmV?d00001 diff --git a/.github/release/weld-sign.asc.gpg b/.github/release/weld-sign.asc.gpg new file mode 100644 index 0000000000000000000000000000000000000000..4fa2d796b1545891c3129439b53ad5012a155701 GIT binary patch literal 3976 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 literal 0 HcmV?d00001 diff --git a/.github/workflows/ci-actions.yml b/.github/workflows/ci-actions.yml index 3b205653..33b64a6b 100644 --- a/.github/workflows/ci-actions.yml +++ b/.github/workflows/ci-actions.yml @@ -1,4 +1,4 @@ -name: Weld-JUnit CI +name: Weld Testing CI on: pull_request: @@ -19,6 +19,10 @@ jobs: name: "17", java-version: 17, } + - { + name: "21", + java-version: 21, + } steps: - uses: actions/checkout@v4 - name: Set up JDK @{} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..ee871e66 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,56 @@ +name: Weld Testing Release + +on: + pull_request: + types: + - closed + paths: + - '.github/project.yml' + +jobs: + release: + name: Release + runs-on: ubuntu-latest + if: ${{github.event.pull_request.merged == true}} + env: + GITHUB_TOKEN: ${{secrets.RELEASE_TOKEN}} + steps: + - name: Retrieve project metadata + id: metadata + uses: radcortez/project-metadata-action@master + with: + github-token: ${{secrets.GITHUB_TOKEN}} + metadata-file-path: '.github/project.yml' + + - name: Checkout + uses: actions/checkout@v4 + with: + token: ${{secrets.RELEASE_TOKEN}} + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Set up Maven + uses: stCarolas/setup-maven@v4.5 + with: + maven-version: 3.8.8 + + - name: Maven release ${{steps.metadata.outputs.current-version}} + run: | + export MAVEN_OPTS="--add-opens=java.base/java.util=ALL-UNNAMED" + java -version + gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output weld-sign.asc .github/release/weld-sign.asc.gpg + gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output maven-settings.xml .github/release/maven-settings.xml.gpg + gpg --fast-import --no-tty --batch --yes weld-sign.asc + git config --global user.name "Weld CI" + git config --global user.email "weld-dev@lists.jboss.org" + git checkout -b release + mvn release:prepare --batch-mode -Drelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -Dtag=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}} -s maven-settings.xml + git checkout ${{github.base_ref}} + git rebase release + mvn -B release:perform -Drelease -s maven-settings.xml + git push + git push --tags \ No newline at end of file diff --git a/pom.xml b/pom.xml index d88823e9..97242521 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jboss.weld weld-parent - 47 + 50 http://weld.cdi-spec.org From 5ee30050e0b8650c5d1b081281f20003e0ff543a Mon Sep 17 00:00:00 2001 From: Matej Novotny Date: Tue, 26 Mar 2024 23:16:37 +0100 Subject: [PATCH 2/5] Remove overriding plugin versions which were outdated --- pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pom.xml b/pom.xml index 97242521..5ff7d07e 100644 --- a/pom.xml +++ b/pom.xml @@ -211,8 +211,6 @@ org.apache.maven.plugins maven-surefire-plugin - - 2.22.1 ${project.build.testOutputDirectory}/logging.properties @@ -222,7 +220,6 @@ org.codehaus.gmavenplus gmavenplus-plugin - 1.13.1 From 8525300900399fb1a6ac2c519072ed5c59fc9cc5 Mon Sep 17 00:00:00 2001 From: Matej Novotny Date: Tue, 26 Mar 2024 23:25:56 +0100 Subject: [PATCH 3/5] Correct CI job name, update spotbugs versions --- .github/workflows/ci-actions.yml | 2 +- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-actions.yml b/.github/workflows/ci-actions.yml index 33b64a6b..5acb2994 100644 --- a/.github/workflows/ci-actions.yml +++ b/.github/workflows/ci-actions.yml @@ -6,7 +6,7 @@ on: jobs: build-weld-junit: - name: "Weld-JUnit build, JDK ${{matrix.java.name}}" + name: "Weld Testing build, JDK ${{matrix.java.name}}" runs-on: ubuntu-latest strategy: fail-fast: false diff --git a/pom.xml b/pom.xml index 5ff7d07e..dca58b4e 100644 --- a/pom.xml +++ b/pom.xml @@ -53,8 +53,8 @@ 3.1.0 2.17.2 - 4.6.0 - 4.6.0.0 + 4.8.3 + 4.8.3.1 false Low From a2660c355757ba4f09637dc22e1a8cf65f2dbec9 Mon Sep 17 00:00:00 2001 From: Matej Novotny Date: Wed, 27 Mar 2024 09:47:13 +0100 Subject: [PATCH 4/5] Suppress FB warning --- .../main/java/org/jboss/weld/junit/MockBeanWithPriority.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java b/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java index e20afc1c..8b01042a 100644 --- a/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java +++ b/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java @@ -6,6 +6,8 @@ import jakarta.enterprise.inject.spi.Prioritized; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; + /** * A subclass of {@link MockBean} implementing {@link Prioritized} hence allowing for globally enabled alternatives. * Used instead of {@link MockBean} if user specified {@link MockBean.Builder#priority(int)}. @@ -16,6 +18,7 @@ class MockBeanWithPriority extends MockBean implements Prioritized { private final int priority; + @SuppressFBWarnings(value = "CT_CONSTRUCTOR_THROW", justification = "This is just a helper class for testing. Plus finalizer pattern is pretty much dead since deprecation in Java 9.") MockBeanWithPriority(Class beanClass, Set> stereotypes, boolean alternative, boolean selectForSyntheticBeanArchive, int priority, String name, Set qualifiers, Set types, Class scope, From 7f5e02015281c3ecc0c276910dd8d669dd8a283f Mon Sep 17 00:00:00 2001 From: Matej Novotny Date: Wed, 27 Mar 2024 09:52:53 +0100 Subject: [PATCH 5/5] Update groovy version in spock module to allow JDK 21 testing --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dca58b4e..e8781a72 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,7 @@ 5.10.0 2.1-groovy-3.0 1.8.2 - 3.0.10 + 3.0.21 5.1.2.Final 4.4.0 4.0.1