chore(deps): update pnpm to v9 #6609
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This CI Workflow was deployed and configured by WarpWing and Nate. | |
name: "CI/CD" | |
on: [push, pull_request, workflow_dispatch] | |
env: | |
NODE_VERSION: "16" | |
CONTAINER_REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
pnpm: | |
name: install dependencies (pnpm) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: "pnpm" | |
- name: Install node dependencies | |
run: pnpm i | |
es-lint: | |
name: check linting (es-lint) | |
needs: [pnpm] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: "pnpm" | |
- name: Install node dependencies | |
run: pnpm i | |
- name: Check ESlint | |
run: pnpm lint | |
ejs-lint: | |
name: check linting (ejs-lint) | |
needs: [pnpm] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: "pnpm" | |
- name: Install node dependencies | |
run: pnpm i | |
- name: Check ejs-lint | |
run: pnpm lint:ejs | |
prettier: | |
name: check format (prettier) | |
needs: [pnpm] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: "pnpm" | |
- name: Install node dependencies | |
run: pnpm i | |
- name: Check Prettier | |
run: pnpm prettier | |
typescript: | |
name: test compile (typescript) | |
needs: [es-lint, ejs-lint, prettier] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: "pnpm" | |
- name: Install node dependencies | |
run: pnpm i | |
- name: Compile TypeScript | |
run: npx tsc -p public/resources/ts --noEmit | |
rollup: | |
name: test compile (rollup) | |
needs: [es-lint, ejs-lint, prettier] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: "pnpm" | |
- name: Install node dependencies | |
run: pnpm i | |
- name: Compile Rollup | |
run: pnpm rollup | |
scss: | |
name: test compile (scss) | |
needs: [es-lint, ejs-lint, prettier] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: "pnpm" | |
- name: Install node dependencies | |
run: pnpm i | |
- name: Build SCSS | |
run: pnpm scss | |
package-container: | |
name: package container | |
if: | | |
(github.ref == 'refs/heads/production' || github.ref == 'refs/heads/development') | |
&& github.repository_owner == 'SkyCryptWebsite' | |
&& github.event_name != 'pull_request' | |
needs: [typescript, rollup, scss] | |
runs-on: ubuntu-latest | |
permissions: | |
packages: write | |
contents: read | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
- name: Registry login | |
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 | |
with: | |
registry: ${{ env.CONTAINER_REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract metadata | |
id: meta | |
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 | |
with: | |
images: ${{ env.CONTAINER_REGISTRY }}/${{ env.IMAGE_NAME }} | |
- name: Build and Push | |
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc | |
with: | |
context: . | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} |