diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6db29a4..e1941ab 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,5 +1,8 @@ name: CI -on: +on: + push: + branches: + - '*' pull_request: branches: - '*' diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 0b81661..4af2de5 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -3,8 +3,6 @@ on: push: branches: - main - tags: - - '*' workflow_dispatch: # allow this workflow to be called by other workflows concurrency: @@ -38,7 +36,7 @@ jobs: uses: char0n/swagger-editor-validate@v1 with: definition-file: api/v4/openapi.yaml - deploy-packages: + deploy-latest-packages: if: github.repository_owner == 'RHEcosystemAppEng' runs-on: ubuntu-latest permissions: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..ec2f0c8 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,27 @@ +name: Publish +on: + release: + types: [published] + +jobs: + deploy-packages: + if: github.repository_owner == 'RHEcosystemAppEng' + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + name: Deploy + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up Java 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + - name: Set NPM auth token + run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" > ~/.npmrc + - name: Build and Publish to GitHub Maven Packages + run: mvn -B deploy -Prelease --file pom.xml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/README.md b/README.md index c0984af..d32da92 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ The packages are published to the GitHub maven repository. Make sure to add it t com.redhat.ecosystemappeng exhort-api - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT ``` @@ -36,5 +36,5 @@ echo "@RHEcosystemAppEng:registry=https://npm.pkg.github.com" >> .npmrc Then, add it to your project as follows: ```bash -npm install @RHEcosystemAppEng/exhort-javascript-api@1.0.0-SNAPSHOT +npm install @RHEcosystemAppEng/exhort-javascript-api@1.0.1-SNAPSHOT ``` \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8d8e8cc..484445a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,8 +1,6 @@ - + 4.0.0 com.redhat.ecosystemappeng @@ -17,6 +15,8 @@ UTF-8 14 ${project.build.directory}/js-api + yyyyMMdd.HHmmss + ${maven.build.timestamp} quarkus-bom io.quarkus.platform @@ -68,7 +68,7 @@ https://github.com/RHEcosystemAppEng/exhort-api-spec scm:git:git@github.com:RHEcosystemAppEng/exhort-api-spec.git scm:git:git@github.com:RHEcosystemAppEng/exhort-api-spec.git - HEAD + v1.0.0 @@ -185,8 +185,11 @@ ${maven-release-plugin.version} -Pprepare-deployment,deploy-github - build(release): [skip ci] + build(release): true + install + v@{project.version} + clean compile @@ -564,7 +567,7 @@ limitations under the License.]]> yarn - publish + run publish:snapshot @@ -579,44 +582,60 @@ limitations under the License.]]> - - dev - - true - true - + release - maven-compiler-plugin + com.github.eirslett + frontend-maven-plugin + ${frontend-maven-plugin.version} + + + install node and yarn + initialize + + install-node-and-yarn + + + + yarn install + compile + + yarn + + + install + + + + yarn compile + compile + + yarn + + + run compile + + + + yarn publish + deploy + + yarn + + + publish + + + - false + ${node.version} + ${yarn.version} + ${js-api} + target - - - - - - - deploy-github - - - github - https://maven.pkg.github.com/RHEcosystemAppEng/exhort-api-spec - - - github - https://maven.pkg.github.com/RHEcosystemAppEng/exhort-api-spec - - - - - - prepare-deployment - - diff --git a/src/filtered/js-api/package.json b/src/filtered/js-api/package.json index 1c8b1bd..6c41fea 100644 --- a/src/filtered/js-api/package.json +++ b/src/filtered/js-api/package.json @@ -11,7 +11,8 @@ "scripts": { "lint": "eslint model/**/* --ext js --fix", "precompile": "rm -rf dist && npm run lint", - "compile": "tsc -p tsconfig.json" + "compile": "tsc -p tsconfig.json", + "publish:snapshot": "npm version prerelease --preid ${timestamp} && npm publish --tag ${timestamp}" }, "keywords": [ "analysis",