diff --git a/.ci.yaml b/.ci.yaml new file mode 100644 index 0000000..eb4d6da --- /dev/null +++ b/.ci.yaml @@ -0,0 +1,42 @@ +schema: 1 + +scoped_delegation: true + +verification: + push: + branches: [main, master, dev, rc, "release/**", "hotfix/**", "qualification/**"] + +components: + library: + directory: . + platforms: [linux-amd64] + toolchains: + java: "21" + build: + tool: maven + commands: + - ["--batch-mode", "--update-snapshots", "-T4", "--no-transfer-progress", "verify"] + - ["--batch-mode", "--no-transfer-progress", "org.codehaus.mojo:flatten-maven-plugin:1.7.3:flatten", "-Dflatten.mode=resolveCiFriendliesOnly", "-DupdatePomFile=true"] + reports: + junit: "**/target/surefire-reports/*.xml" + artifacts: + packages: + format: maven + paths: [".flattened-pom.xml", "target/*.jar"] + +release: + channels: + snapshot: + trigger: + push_branches: [develop] + versioning: maven-snapshot + effective_version: + rule: develop-next-minor + central_completion: true + version_write_back: {} + publications: + qbit-sftp-packages: + component: library + artifact: packages + destination: qrun-maven + channels: [snapshot] diff --git a/.gitea/workflows/qrun-release.yaml b/.gitea/workflows/qrun-release.yaml index a063d1a..72d0caf 100644 --- a/.gitea/workflows/qrun-release.yaml +++ b/.gitea/workflows/qrun-release.yaml @@ -1,22 +1,24 @@ -# Standard QRun release caller (v2, thin contract): every push and manual dispatch delegates to the protected qrun-release-v1 channel. Do not edit per repository. -name: qrun-release -on: - push: {} - workflow_dispatch: {} -permissions: - contents: read - actions: read -jobs: - release: - uses: self:KofTwentyTwo/platform-ci/.gitea/workflows/java-maven.yaml@qrun-release-v1 - with: - runner: linux-small - postpublish: - if: ${{ needs.release.outputs.capture == 'true' }} - needs: release - permissions: - contents: write - actions: write - uses: self:KofTwentyTwo/platform-ci/.gitea/workflows/qrun-source-version.yaml@qrun-release-v1 - with: - runner: linux-small +# Standard QRun release caller (v2, thin contract): every push and manual dispatch delegates to the protected qrun-release-v1 channel. Do not edit per repository. +name: qrun-release +on: + push: {} + workflow_dispatch: {} +permissions: + contents: read + actions: read +jobs: + release: + # Develop uses the repository-owned shared pipeline configuration. + if: ${{ github.ref != 'refs/heads/develop' }} + uses: self:KofTwentyTwo/platform-ci/.gitea/workflows/java-maven.yaml@qrun-release-v1 + with: + runner: linux-small + postpublish: + if: ${{ needs.release.outputs.capture == 'true' }} + needs: release + permissions: + contents: write + actions: write + uses: self:KofTwentyTwo/platform-ci/.gitea/workflows/qrun-source-version.yaml@qrun-release-v1 + with: + runner: linux-small