Skip to content

Release (Requires manual steps to take, check all jobs are successful) #68

Release (Requires manual steps to take, check all jobs are successful)

Release (Requires manual steps to take, check all jobs are successful) #68

Workflow file for this run

name: Release
on: workflow_dispatch
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
# env:
# CI: "true"
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: Set git config safe.directory
run: git config --global --add safe.directory "$(pwd)"
- name: Set git identity
run: |-
git config user.name "github-actions"
git config user.email "[email protected]"
- name: Setup Node.js
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
with:
node-version: 18.x
- uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b
name: Setup Java
with:
distribution: temurin
java-version: 11.x
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55
name: Setup Python
with:
python-version: 3.x
- uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9
name: Setup .NET
with:
dotnet-version: 9.0.x
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b
name: Setup Go
with:
go-version: ^1.16.0
- name: Install dependencies
run: yarn install --check-files --frozen-lockfile
- name: release
run: npx projen release
- name: Backup artifact permissions
run: cd dist && getfacl -R . > permissions-backup.acl
continue-on-error: true
- name: Upload artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: build-artifact
path: dist
overwrite: true
release_npm:
name: Publish to npm
needs: release
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@533298bc57c27f112a2c04a74a04a4d43e2866fd
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Release
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: registry.npmjs.org
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
# run: npx -p publib@latest publib-npm
run: ls -l dist/js
# - name: Extract Version
# id: extract-version
# if: ${{ failure() }}
# run: echo "VERSION=$(cat dist/version.txt)" >> "${GITHUB_OUTPUT}"
# - name: Create Issue
# if: ${{ failure() }}
# uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd
# with:
# labels: failed-release
# title: Publishing v${{ steps.extract-version.outputs.VERSION }} to npm failed
# body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
release_maven:
name: Publish to Maven Central
needs: release
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@533298bc57c27f112a2c04a74a04a4d43e2866fd
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Release
env:
MAVEN_GPG_PRIVATE_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
MAVEN_GPG_PRIVATE_KEY_PASSPHRASE: ${{ secrets.MAVEN_GPG_PRIVATE_KEY_PASSPHRASE }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_STAGING_PROFILE_ID: ${{ secrets.MAVEN_STAGING_PROFILE_ID }}
# run: npx -p publib@latest publib-maven
run: ls -l dist/java
# - name: Extract Version
# id: extract-version
# if: ${{ failure() }}
# run: echo "VERSION=$(cat dist/version.txt)" >> "${GITHUB_OUTPUT}"
# - name: Create Issue
# if: ${{ failure() }}
# uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd
# with:
# labels: failed-release
# title: Publishing v${{ steps.extract-version.outputs.VERSION }} to Maven Central failed
# body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
release_pypi:
name: Publish to PyPI
needs: release
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@533298bc57c27f112a2c04a74a04a4d43e2866fd
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Release
env:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
# run: npx -p publib@latest publib-pypi
run: ls -l dist/python
# - name: Extract Version
# id: extract-version
# if: ${{ failure() }}
# run: echo "VERSION=$(cat dist/version.txt)" >> "${GITHUB_OUTPUT}"
# - name: Create Issue
# if: ${{ failure() }}
# uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd
# with:
# labels: failed-release
# title: Publishing v${{ steps.extract-version.outputs.VERSION }} to PyPI failed
# body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
release_nuget:
name: Publish to NuGet Gallery
needs: release
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@533298bc57c27f112a2c04a74a04a4d43e2866fd
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Extract Version
id: extract-version
run: echo "VERSION=$(cat dist/version.txt)" >> "${GITHUB_OUTPUT}"
# - name: Log in to MongoDB Docker registry
# uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
# with:
# registry: ${{ secrets.ARTIFACTORY_REGISTRY }}
# username: ${{ secrets.ARTIFACTORY_USER }}
# password: ${{ secrets.ARTIFACTORY_PASSWORD }}
# - name: Sign NuGet package
# run: |
# docker run \
# -e GRS_CONFIG_USER1_USERNAME="${{ secrets.ARTIFACTORY_SIGN_USER }}" \
# -e GRS_CONFIG_USER1_PASSWORD="${{ secrets.ARTIFACTORY_SIGN_PASSWORD }}" \
# --rm -v "$(pwd)":"$(pwd)" -w "$(pwd)" \
# "${{ secrets.ARTIFACTORY_REGISTRY }}/${{ secrets.ARTIFACTORY_SIGN_TOOL }}" \
# /bin/bash -c "jsign --tsaurl http://timestamp.digicert.com -a ${{ secrets.AUTHENTICODE_KEY_NAME }} \
# ./dist/dotnet/MongoDB.AWSCDKResourcesMongoDBAtlas.${{ steps.extract-version.outputs.VERSION }}.nupkg"
- name: Release
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
# run: npx -p publib@latest publib-nuget
run: ls -l dist/dotnet
# - name: Create Issue
# if: ${{ failure() }}
# uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd
# with:
# labels: failed-release
# title: Publishing v${{ steps.extract-version.outputs.VERSION }} to NuGet Gallery failed
# body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
release_golang:
name: Publish to GitHub Go Module Repository
needs: release
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
with:
node-version: 18.x
- name: Download build artifacts
uses: actions/download-artifact@533298bc57c27f112a2c04a74a04a4d43e2866fd
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GO_GITHUB_TOKEN }}
GIT_USER_NAME: ${{ secrets.GO_GIT_USER_NAME }}
GIT_USER_EMAIL: ${{ secrets.GO_GIT_USER_EMAIL }}
# run: npx -p publib@latest publib-golang
run: ls -l dist/go
# - name: Extract Version
# id: extract-version
# if: ${{ failure() }}
# run: echo "VERSION=$(cat dist/version.txt)" >> "${GITHUB_OUTPUT}"
# - name: Create Issue
# if: ${{ failure() }}
# uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd
# with:
# labels: failed-release
# title: Publishing v${{ steps.extract-version.outputs.VERSION }} to GitHub Go Module Repository failed
# body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
# release_github:
# name: Publish to GitHub Releases
# needs: [release, release_npm, release_maven, release_pypi, release_nuget, release_golang]
# runs-on: ubuntu-latest
# permissions:
# contents: write
# issues: write
# steps:
# - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
# with:
# node-version: 18.x
# - name: Download build artifacts
# uses: actions/download-artifact@533298bc57c27f112a2c04a74a04a4d43e2866fd
# with:
# name: build-artifact
# path: dist
# - name: Restore build artifact permissions
# run: cd dist && setfacl --restore=permissions-backup.acl
# continue-on-error: true
# - name: Release
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# GITHUB_REPOSITORY: ${{ github.repository }}
# GITHUB_REF: ${{ github.ref }}
# run: errout=$(mktemp); gh release create "$(cat dist/releasetag.txt)" -R "${GITHUB_REPOSITORY}" -F dist/changelog.md -t "$(cat dist/releasetag.txt)" --target "${GITHUB_REF}" 2> "$errout" && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" "$errout"; then cat "$errout"; exit $exitcode; fi
# - name: Extract Version
# id: extract-version
# if: ${{ failure() }}
# run: echo "VERSION=$(cat dist/version.txt)" >> "${GITHUB_OUTPUT}"
# - name: Create Issue
# if: ${{ failure() }}
# uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# labels: failed-release
# title: Publishing v${{ steps.extract-version.outputs.VERSION }} to GitHub Releases failed
# body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}