Skip to content

bump creds package (#275) #53

bump creds package (#275)

bump creds package (#275) #53

name: release snapshot to jfrog
on:
push:
branches:
- main
workflow_dispatch:
# Allow only one concurrent deployment
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
permissions:
contents: read
id-token: write
jobs:
publish-npm:
name: Snapshot Publish
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
with:
fetch-depth: 0
submodules: "true"
# https://cashapp.github.io/hermit/usage/ci/
- name: Init Hermit
uses: cashapp/activate-hermit@31ce88b17a84941bb1b782f1b7b317856addf286 #v1.1.0
with:
cache: "true"
- uses: jfrog/setup-jfrog-cli@d82fe26823e1f25529250895d5673f65b02af085 #v4.0.1
with:
version: latest
oidc-provider-name: github # must match the OpenID Connect name from https://blockxyz.jfrog.io/ui/admin/configuration/integrations
env:
JF_URL: https://blockxyz.jfrog.io
- name: Publish snapshot
env:
REGISTRY: https://blockxyz.jfrog.io/artifactory/api/npm/tbd-oss-snapshots-npm/
run: |
set -exuo pipefail
base_version=$(jq -r .version packages/protocol/package.json)
commits_since_version_bump=$(git rev-list HEAD $(git describe --tags --abbrev=0 HEAD) --count)
latest_commit="$(git rev-parse --short=7 HEAD)"
snapshot_version="${base_version}-SNAPSHOT.${commits_since_version_bump}-${latest_commit}"
pnpm install
pnpm build
jf npm-config --global=true --repo-resolve=tbd-oss-snapshots-npm --repo-deploy=tbd-oss-snapshots-npm
for package in protocol http-client http-server; do
pushd "packages/${package}"
sed -i "s#workspace:\*#${snapshot_version}#g" package.json
# set the snapshot version
jq --arg version "${snapshot_version}" '.version = $version' package.json > package-new.json
mv package-new.json package.json
# set publishing config in package.json
jq --arg registry "${REGISTRY}" '.publishConfig.registry = $registry' package.json > package-new.json
mv package-new.json package.json
# login to jfrog and publish
jf npm publish --registry "${REGISTRY}"
popd
done
shell: bash