Optimize npm-pack-and-replace.sh script to skip packages that are not… #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish on tag | |
on: | |
push: | |
tags: [v*] | |
workflow_dispatch: | |
env: | |
PAGES_BRANCH: gh-pages | |
HTTPS_REMOTE: "https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}" | |
jobs: | |
publish: | |
name: Publish Release | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install Dependencies | |
run: npm i | |
- name: Set up version | |
run: | | |
# Extract package name and version | |
NPM_PACKAGE_NAME=$(node -p "require('./package.json').name") | |
NPM_PACKAGE_VERSION=$(node -p "require('./package.json').version") | |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NODE_AUTH_TOKEN }}" > .npmrc | |
- name: publish-chain-api | |
run: | | |
cd chain-api | |
npm i | |
npm run build | |
# Publish to NPM registry | |
npm publish --access public | |
cd ../ | |
- name: publish-chain-test | |
run: | | |
cd chain-test | |
npm i | |
npm run build | |
npm publish --access public | |
cd ../ | |
- name: publish-chain-cli | |
run: | | |
cd chain-cli | |
npm i | |
npm run build | |
npm publish --access public | |
cd ../ | |
- name: publish-chaincode | |
run: | | |
cd chaincode | |
npm i | |
npm run build | |
npm publish --access public | |
cd ../ | |
- name: publish-client | |
run: | | |
cd chain-client | |
npm i | |
npm run build | |
npm publish --access public | |
cd ../ | |
publish-pages: | |
name: Publish Pages | |
runs-on: ubuntu-latest | |
needs: [publish] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install project dependencies | |
run: npm install | |
- name: Generate typedocs | |
run: | | |
npm run typedoc-chain-api | |
npm run typedoc-chain-client | |
npm run typedoc-chaincode | |
npm run typedoc-chain-test | |
npm run replace-readme-docs | |
- name: Install google-chrome | |
run: | | |
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb | |
sudo dpkg -i google-chrome*.deb | |
- name: Install python3 and pip | |
run: | | |
sudo apt-get install -y python3 | |
sudo apt-get install -y python3-pip python3-pillow python3-cffi python3-brotli gcc musl-dev python3-dev | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
- name: Install mermaid-cli | |
run: npm install -g @mermaid-js/mermaid-cli | |
- name: Install pip packages | |
run: pip3 install mkdocs==1.5.3 mkdocs-material==9.4.8 mike==1.1.2 beautifulsoup4==4.9.3 setuptools==58.2.0 mkdocs-awesome-pages-plugin==2.9.2 | |
- name: Git config | |
run: | | |
git config --global user.email "${GITHUB_ACTOR}" | |
git config --global user.name "${GITHUB_ACTOR}@gala.games.com" | |
- name: Clone mkdocs-with-pdf fixed branch and install | |
run: | | |
git clone -b render-mermaid-png https://github.com/Fuerback/mkdocs-with-pdf.git | |
cd mkdocs-with-pdf | |
sudo python3 setup.py install | |
cd .. | |
- name: Mkdocs build | |
run: | | |
mkdocs build | |
- name: Push a new version of the docs | |
run: | | |
git fetch origin $PAGES_BRANCH && git -b checkout $PAGES_BRANCH origin/$PAGES_BRANCH || git checkout $PAGES_BRANCH || echo "Pages branch not deployed yet." | |
git checkout $GITHUB_SHA | |
mike deploy --rebase --prefix docs -r $HTTPS_REMOTE -p -b $PAGES_BRANCH -u ${GITHUB_REF#refs/tags/} latest | |
mike set-default --rebase --prefix docs -r $HTTPS_REMOTE -p -b $PAGES_BRANCH latest | |
git checkout $PAGES_BRANCH -- docs/ | |
publish-cli-image: | |
name: Publish CLI Image | |
needs: [publish] | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: galachain/sdk | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Log in to the Container registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Make the repository name lowercase | |
id: lower-repo | |
shell: pwsh | |
run: | | |
"::set-output name=repository::$($env:GITHUB_REPOSITORY.ToLowerInvariant())" | |
- name: Build and push Docker image | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./chain-cli/docker | |
push: true | |
tags: ghcr.io/${{ steps.lower-repo.outputs.repository }}:latest | |
bump-version: | |
needs: [publish, publish-cli-image] | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) | |
name: Bump SDK Version | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
ref: "main" | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install tools | |
run: npm i -g semver | |
- name: Configure Git | |
run: | | |
git config --global user.name "galachain-release-bot" | |
git config --global user.email "[email protected]" | |
- name: Bump version | |
run: | | |
VERSION="$(semver "$(< package.json jq -r '.version')" -i)" | |
./unifyVersions.js $VERSION | |
npm i | |
git commit -am "Bump version to $VERSION" | |
- name: Push next version release | |
uses: ad-m/github-push-action@master | |
with: | |
branch: "main" | |
github_token: ${{ secrets.GITHUB_TOKEN }} |