Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore(deps): update github artifact actions #539

chore(deps): update github artifact actions

chore(deps): update github artifact actions #539

Workflow file for this run

# This is a Github Workflow that runs tests on any push or pull request.
# If the tests pass and this is a push to the master branch it also runs Semantic Release.
name: CI
on: [push, pull_request]
env:
npm_config_yes: true
npm_config_audit: false
npm_config_fund: false
npm_config_save: false
npm_config_package_lock: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- name: Use Node.js 22
uses: actions/setup-node@v5
with:
node-version: 22
cache: 'npm'
- run: npm ci
- run: npm run build
- uses: actions/upload-artifact@v6
with:
name: build
path: |
target
package.json
jsr.json
retention-days: 1
push:
name: Push ${{ github.ref }}
needs: build
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-24.04
permissions:
checks: read
statuses: write
contents: write
packages: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: ${{ github.ref == 'refs/heads/master' && '0' || '1' }}
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
cache: 'npm'
- name: Install deps
run: npm ci
- uses: actions/download-artifact@v7
with:
name: build
- name: Run tests
run: npm run test:cov
# - name: Codeclimate
# if: github.ref == 'refs/heads/master'
# uses: paambaati/[email protected]
# env:
# CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
# with:
# coverageLocations: |
# ${{github.workspace}}/coverage/lcov.info:lcov
- name: Semantic Release
if: github.ref == 'refs/heads/master'
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_PROVENANCE: true
GIT_BRANCH: 'master'
GH_USER: 'qiwibot'
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_AUTHOR_NAME: ${{ secrets.GIT_AUTHOR_NAME }}
GIT_AUTHOR_EMAIL: ${{ secrets.GIT_AUTHOR_EMAIL }}
GIT_COMMITTER_NAME: ${{ secrets.GIT_COMMITTER_NAME }}
GIT_COMMITTER_EMAIL: ${{ secrets.GIT_COMMITTER_EMAIL }}
run: npx zx-semrel
- name: Push docs
if: github.ref == 'refs/heads/master'
env:
GIT_COMMITTER_NAME: ${{ secrets.GIT_COMMITTER_NAME }}
GIT_COMMITTER_EMAIL: ${{ secrets.GIT_COMMITTER_EMAIL }}
run: |
npx ggcp 'target/docs>**/*' https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git/gh-pages --message='chore: update docs'
pr_node:
if: ${{ github.event_name == 'pull_request' }}
needs: build
name: Test PR (Node v${{ matrix.node-version }}, OS ${{ matrix.os }})
strategy:
matrix:
os: [ ubuntu-24.04 ]
node-version: [ 18, 22 ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- uses: actions/download-artifact@v7
with:
name: build
- name: Install deps
run: npm ci
- if: matrix.os == 'windows-2019'
run: npm i -g npm
- name: Run all tests
timeout-minutes: 2
if: matrix.node-version == '22'
run: npm test
- name: Run js tests
timeout-minutes: 2
if: matrix.node-version != '22'
run: npm run test:js
pr_bun:
if: ${{ github.event_name == 'pull_request' }}
needs: build
runs-on: ubuntu-24.04
name: PR with Bun
steps:
- name: Checkout
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Setup Bun
uses: antongolub/action-setup-bun@v1
- uses: actions/download-artifact@v7
with:
name: build
- name: Install
run: |
bun install
ln -s ../ ./node_modules/zx-extra
- name: Run tests
timeout-minutes: 2
run: bun test:bun