Skip to content

Merge pull request #496 from SiaFoundation/02-22-feat_renterd_multipa… #167

Merge pull request #496 from SiaFoundation/02-22-feat_renterd_multipa…

Merge pull request #496 from SiaFoundation/02-22-feat_renterd_multipa… #167

Workflow file for this run

name: Release Versions or Publish NPM
on:
push:
branches:
- main
# This is for .npmrc. Nx automatically creates an .npmrc before changesets runs
# and creates one itself, so we need to explicitly have one.
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
concurrency: commits-to-main
jobs:
release-main:
runs-on: ubuntu-latest
steps:
- name: Checkout all commits
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup
uses: ./.github/actions/setup
with:
node_version: 20.10.0
- uses: docker/setup-buildx-action@v2
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Lint
shell: bash
run: npx nx run-many --target=lint --all --parallel=5
- name: Test
shell: bash
run: npx nx run-many --target=test --all --parallel=5
- name: Build for publishing
shell: bash
run: npx nx run-many --target=build --configuration=production --all --parallel=5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
- name: Containers
shell: bash
run: npx nx run-many --target=container --configuration=production -all --parallel=5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
- name: Containers zen
shell: bash
run: npx nx run-many --target=container --configuration=production-testnet-zen -all --parallel=5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
# If there are changesets, then we are in PR prep mode and will
# update the release pull request. Note that if there are no changesets
# this step will be skipped because no publish script is specified.
- name: Update release pull request
id: changesets
uses: changesets/action@v1
with:
commit: 'chore: release packages'
version: npm run version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Replace src code with dists for publishing
if: steps.changesets.outputs.hasChangesets == 'false'
run: ./scripts/replace-src-with-dists-for-publishing.sh
# If no changesets were detected in the PR prep step then we are in
# release/publish mode. Check for and publish any new versions to NPM.
- name: Publish to NPM and create GitHub releases
id: changesets_release
if: steps.changesets.outputs.hasChangesets == 'false'
uses: changesets/action@v1
with:
publish: npm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Release Go modules
# if a release was published, release the Go modules
if: steps.changesets_release.outputs.published == 'true'
run: |
curl \
-X POST \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/SiaFoundation/web/actions/workflows/release-go.yml/dispatches \
-d '{"ref":"main"}'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}