Skip to content

⬆️ Upgrade Node to 20.11 (#2) #24

⬆️ Upgrade Node to 20.11 (#2)

⬆️ Upgrade Node to 20.11 (#2) #24

Workflow file for this run

name: Test Release Publish
on: [push]
jobs:
test:
name: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ubuntu-latest-node-18.19.x-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
ubuntu-latest-node-18.19.x-yarn-
- uses: actions/setup-node@v3
with:
node-version: 20.11
registry-url: https://registry.npmjs.org/
- name: Install
run: yarn install --frozen-lockfile
- name: Lint
run: yarn lint
- name: Test
run: yarn test --ci --bail
- uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./coverage
release_publish:
name: publish
runs-on: ubuntu-latest
needs: test
if: success() && github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v3
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ubuntu-latest-node-18.19.x-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
ubuntu-latest-node-18.19.x-yarn-
- uses: actions/setup-node@v3
with:
node-version: 20.11
registry-url: https://registry.npmjs.org/
- name: Install
run: yarn install --frozen-lockfile
- name: Setup env vars
id: ownEnvVars
run: |
# Set PACKAGE_VERSION
PACKAGE_VERSION=$(node -p -e "require('./package.json').version")
echo ::set-output name=PACKAGE_VERSION::$PACKAGE_VERSION
# Set COMMIT_LOG
COMMIT_LOG=`git log $(git describe --tags --abbrev=0)..HEAD --date=iso-local --format='%cd %h %an - %s '`
echo ::set-output name=COMMIT_LOG::$COMMIT_LOG
- name: npm publish
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.ownEnvVars.outputs.PACKAGE_VERSION }}
commit: main
body: ${{ steps.ownEnvVars.outputs.COMMIT_LOG }}
- name: Create JIRA release
uses: darioblanco/jira-wizard@main
with:
app: ${{ github.repository }}
host: ${{ secrets.JIRA_HOST }}
email: ${{ secrets.JIRA_EMAIL }}
apiToken: ${{ secrets.JIRA_API_TOKEN }}
projectKey: ${{ secrets.JIRA_PROJECT_KEY }}
version: ${{ steps.ownEnvVars.outputs.PACKAGE_VERSION }}
draft: false
- name: Slack Notification - NPM release
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_RELEASE_BOT_PUBLIC }}
SLACK_USERNAME: 'npmBot'
SLACK_CHANNEL: 'releases_npm'
SLACK_ICON: 'https://avatars0.githubusercontent.com/u/6078720?s=32&v=4'
SLACK_MESSAGE: '📦 Released NPM package ${{github.repository}} https://github.com/${{github.repository}}/releases/tag/${{ steps.ownEnvVars.outputs.PACKAGE_VERSION }}'