Skip to content

Optimize npm-pack-and-replace.sh script to skip packages that are not… #1

Optimize npm-pack-and-replace.sh script to skip packages that are not…

Optimize npm-pack-and-replace.sh script to skip packages that are not… #1

Workflow file for this run

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 }}