From 53a5bb579ff74d9cdcf58ef6670ef5e975d3a14d Mon Sep 17 00:00:00 2001 From: GPortas Date: Tue, 23 May 2023 13:51:39 +0100 Subject: [PATCH 1/3] Added: github action for gpr package deployment on PRs --- .github/workflows/deploy_pr.yml | 51 +++++++++++++++++++++++++++++++++ package.json | 1 - 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/deploy_pr.yml diff --git a/.github/workflows/deploy_pr.yml b/.github/workflows/deploy_pr.yml new file mode 100644 index 00000000..849dde7d --- /dev/null +++ b/.github/workflows/deploy_pr.yml @@ -0,0 +1,51 @@ +name: deploy_pr + +on: + pull_request: + branches: + - develop + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 19 + + - name: Install npm dependencies + run: npm ci + + - name: Run unit tests + run: npm run test:unit + + publish-gpr: + needs: test + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 19 + registry-url: https://npm.pkg.github.com/ + + - name: Install npm dependencies + run: npm ci + + - name: Build package + run: npm run build + + - name: Update package version + run: npm version '${{ github.event.number }}.${{ github.run_number }}.0' --no-git-tag-version + + - name: Publish package + run: | + echo "$(jq '.publishConfig.registry = "https://npm.pkg.github.com"' package.json)" > package.json + echo "$( jq '.name = "@gportas/dataverse-client-javascript"' package.json )" > package.json + npm publish --@gportas:registry=https://npm.pkg.github.com + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/package.json b/package.json index cdd257d6..9e21ca7a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,6 @@ ], "scripts": { "build": "tsc", - "publish": "tsc && npm publish", "test": "jest -c jest.config.js", "test:unit": "jest -c jest.config.unit.js", "test:integration": "jest -c jest.config.integration.js", From 3016ccf8ce662bb9517e49e38f9478592e0e4a9d Mon Sep 17 00:00:00 2001 From: GPortas Date: Tue, 23 May 2023 14:28:54 +0100 Subject: [PATCH 2/3] Fixed: GitHub username / org name --- .github/workflows/deploy_pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_pr.yml b/.github/workflows/deploy_pr.yml index 849dde7d..43bb8d91 100644 --- a/.github/workflows/deploy_pr.yml +++ b/.github/workflows/deploy_pr.yml @@ -45,7 +45,7 @@ jobs: - name: Publish package run: | echo "$(jq '.publishConfig.registry = "https://npm.pkg.github.com"' package.json)" > package.json - echo "$( jq '.name = "@gportas/dataverse-client-javascript"' package.json )" > package.json - npm publish --@gportas:registry=https://npm.pkg.github.com + echo "$( jq '.name = "@IQSS/dataverse-client-javascript"' package.json )" > package.json + npm publish --@IQSS:registry=https://npm.pkg.github.com env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 8ac5f2595ea3af0c40c10b53ee3ae924b810f0ae Mon Sep 17 00:00:00 2001 From: GPortas Date: Tue, 23 May 2023 17:15:19 +0100 Subject: [PATCH 3/3] Added: enhanced versioning --- .github/workflows/deploy_pr.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_pr.yml b/.github/workflows/deploy_pr.yml index 43bb8d91..35af45c1 100644 --- a/.github/workflows/deploy_pr.yml +++ b/.github/workflows/deploy_pr.yml @@ -38,9 +38,12 @@ jobs: - name: Build package run: npm run build - + - name: Update package version - run: npm version '${{ github.event.number }}.${{ github.run_number }}.0' --no-git-tag-version + run: | + SHORT_SHA=$(git rev-parse --short "${{ github.event.pull_request.head.sha }}") + CURRENT_PACKAGE_VERSION=$(cat package.json | jq -r '.version') + npm version "${CURRENT_PACKAGE_VERSION}-pr${{ github.event.number }}.${SHORT_SHA}" --no-git-tag-version - name: Publish package run: |