Skip to content

chore(deps): update ci github-actions #952

chore(deps): update ci github-actions

chore(deps): update ci github-actions #952

Workflow file for this run

# NOTE: This name appears in GitHub's Checks API and in workflow's status badge.
name: ci-lint
# Trigger the workflow when:
on:
# A push occurs to one of the matched branches.
push:
branches: [master]
# Or when a pull request event occurs for a pull request against one of the
# matched branches.
pull_request:
branches: [master]
jobs:
lint:
# NOTE: This name appears in GitHub's Checks API.
name: lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
# Checkout pull request HEAD commit instead of merge commit.
ref: ${{ github.event.pull_request.head.sha }}
# Fetch all history so gitlint can check the relevant commits.
fetch-depth: '0'
submodules: 'recursive'
- name: Set up Python 3
uses: actions/setup-python@v4
with:
python-version: '3.14.3'
- name: Set up Node.js 20
uses: actions/setup-node@v4
with:
node-version: '20.20.0'
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 10.30.2
run_install: false
- name: Set workflow variables
# Id is needed to access output in a next step.
id: vars
run: |
echo "PNPM_CACHE_DIR=$(pnpm store path)" >> "$GITHUB_OUTPUT"
echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.vars.outputs.PNPM_CACHE_DIR }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install
run: pnpm install --frozen-lockfile --ignore-scripts
# Required for FE build, since it depends on autogenerated files
- name: Build subcall lib
run: pnpm --filter @oasisprotocol/rose-app-subcall build
- name: Install gitlint
run: |
python -m pip install gitlint
# Needed for Towncrier fork to work with 3.12 and above
- name: Install setuptools
run: |
python -m pip install setuptools
- name: Install towncrier
run: |
python -m pip install https://github.com/oasisprotocol/towncrier/archive/oasis-master.tar.gz
- name: Check for presence of a Change Log fragment (only pull requests)
# NOTE: The pull request' base branch needs to be fetched so towncrier
# is able to compare the current branch with the base branch.
# Source: https://github.com/actions/checkout/#fetch-all-branches.
run: |
git fetch --no-tags origin "+refs/heads/${BASE_BRANCH}:refs/remotes/origin/${BASE_BRANCH}"
towncrier check --compare-with "origin/${BASE_BRANCH}"
env:
BASE_BRANCH: ${{ github.base_ref }}
if: github.event_name == 'pull_request'
- name: Lint documentation
run: |
pnpm lint-docs
# Always run this step so that all linting errors can be seen at once.
if: always()
- name: Lint Change Log fragments
run: |
pnpm lint-changelog
# Always run this step so that all linting errors can be seen at once.
if: always()
- name: Lint git commits
run: |
pnpm lint-git
# Always run this step so that all linting errors can be seen at once.
if: always()
- name: Prettier
run: pnpm prettier-check
# Always run this step so that all linting errors can be seen at once.
if: always()
- name: ESLint
run: pnpm eslint
# Always run this step so that all linting errors can be seen at once.
if: always()
- name: Validate TypeScript
run: |
pnpm --filter @oasisprotocol/rose-app-ui checkTs
pnpm --filter @oasisprotocol/rose-app-move checkTs
pnpm --filter @oasisprotocol/rose-app-stake checkTs
pnpm --filter @oasisprotocol/rose-app-home checkTs
pnpm --filter @oasisprotocol/rose-app-discover checkTs