Skip to content
This repository has been archived by the owner on Jul 25, 2024. It is now read-only.

Merge pull request #28 from monerium/release-please--branches--main #73

Merge pull request #28 from monerium/release-please--branches--main

Merge pull request #28 from monerium/release-please--branches--main #73

Workflow file for this run

name: Release Please
on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
jobs:
release-please:
name: "Create release"
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
id: release
with:
command: manifest
token: ${{secrets.GITHUB_TOKEN}}
default-branch: main
# The logic below handles the npm publication:
- name: Checkout Repository
with:
# We need to fetch all branches and commits so that Nx affected has a base to compare against.
fetch-depth: 0
uses: actions/checkout@v3
# these if statements ensure that a publication only occurs when
# a new release is created:
if: ${{ steps.release.outputs.releases_created }}
- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v3
with:
main-branch-name: ${{ env.BASE }}
- name: Yarn install
run: yarn install --immutable --immutable-cache
# for security reasons, use --check-cache if accepting PRs from third-parties.
if: ${{ steps.release.outputs.releases_created }}
- run: echo "Release ${{ steps.release.outputs['libs/sdk--tag_name'] }} created for sdk."
if: ${{ steps.release.outputs['libs/sdk--release_created'] }}
# Conditionally publish packages based on changes in their respective dist directories
- name: Publish NPM package ${{ steps.release.outputs['libs/sdk--tag_name'] }} ${{ steps.release.outputs['libs/sdk-react-provider--tag_name'] }}
run: yarn nx affected -t build --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
if: ${{ steps.release.outputs.releases_created && steps.release.outputs['libs/sdk--path'] == 'libs/sdk' }}
- name: Build documentation
run: yarn docs
if: ${{ steps.release.outputs.releases_created && steps.release.outputs['libs/sdk--path'] == 'libs/sdk' }}
- name: Archive static artifacts
run: tar -cvf static.tar static
shell: bash
if: ${{ steps.release.outputs.releases_created && steps.release.outputs['libs/sdk--path'] == 'libs/sdk' }}
- name: Upload static artifacts
uses: actions/upload-artifact@v3
with:
name: static-artifacts
path: static.tar
if: ${{ steps.release.outputs.releases_created && steps.release.outputs['libs/sdk--path'] == 'libs/sdk'}}
- name: Debug
run: |
echo '${{ steps.release.outputs.tag_name }}'
echo '${{ steps.release.outputs.releases_created || false }}'
echo '${{ toJson(steps.release.outputs) }}'
echo '${{ steps.release.outputs.pr-branch }}'
echo '${{ toJson(steps.release.outputs.pr)['.headBranchName'] }}'
echo '${{ steps.release.outputs.sha }}'
outputs:
releases_created: ${{ steps.release.outputs.releases_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
package_names: ${{ steps.get-package-names.outputs.package_names }}
sdk_path: ${{ steps.release.outputs['libs/sdk--path'] }}
echo:
needs: [release-please]
runs-on: ubuntu-latest
steps:
- name: Debug
run: |
echo '${{ needs.release-please.outputs.releases_created || false }}'
deploy-static:
name: Trigger static pages deploy
needs: [release-please]
uses: "./.github/workflows/pages.yml"
with:
releases_created: ${{ needs.release-please.outputs.releases_created && needs.release-please.outputs['libs/sdk--path'] == 'libs/sdk' || 'false' }}
secrets: inherit