Skip to content

Merge branch 'main' into Kathy #44

Merge branch 'main' into Kathy

Merge branch 'main' into Kathy #44

Workflow file for this run

name: CI
on:
- push
- pull_request
env:
CI: true
YARN_ENABLE_IMMUTABLE_INSTALLS: 'false'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 2
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v3
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
yarn.lock
.cache
**/tsconfig.tsbuildinfo
key: cache-${{ github.ref }}-${{ github.sha }}
restore-keys: |
cache-${{ github.ref }}-
cache-
- name: Clear Cache
if: "contains(github.event.head_commit.message, 'skip-cache')"
run: |
rm -rf node_modules yarn.lock **/tsconfig.tsbuildinfo
- name: Config And Install
run: |
[[ ! -z "${{secrets.NPM_TOKEN}}" ]] && echo "npmAuthToken: ${{secrets.NPM_TOKEN}}" >> .yarnrc.yml
git config --global user.name undefined
git config --global user.email [email protected]
yarn
env:
LICENSE_KEY: ${{ secrets.MAXMIND_KEY }}
- name: Get specific changed files
id: ui-changed-files
uses: tj-actions/[email protected]
with:
files: |
/package.json
.eslint*
packages/ui-default/**
packages/utils/**
.github/workflows/**
- name: Build And Lint
run: |
if [[ ${{ steps.ui-changed-files.outputs.any_changed }} == true ]] || [[ $(npm info @hydrooj/ui-default version) != $(node -e 'console.log(require("./packages/ui-default/package.json").version)') ]]
then
yarn build:ui:gulp
parallel --tty -j+0 yarn ::: lint:ci lint:ui:ci build build:ui:production:webpack test
else
parallel --tty -j+0 yarn ::: lint:ci build test
fi
- name: Publish
if: ${{ github.event_name == 'push' }}
run: node -r @hydrooj/utils/lib/register build/publish.ts
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# - name: Benchmark
# run: yarn benchmark
# - name: Benchmark result
# uses: benchmark-action/github-action-benchmark@v1
# with:
# name: Benchmark
# tool: customBiggerIsBetter
# output-file-path: benchmark.json
# web:
# needs: build
# permissions:
# packages: write
# contents: read
# runs-on: ubuntu-latest
# if: ${{ github.event_name == 'push' }}
# steps:
# - name: Check out
# uses: actions/checkout@v2
# with:
# submodules: recursive
# - name: Log in to GitHub Docker Registry
# uses: docker/login-action@v1
# with:
# registry: docker.pkg.github.com
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - name: Docker:Web
# uses: docker/build-push-action@v2
# with:
# push: true
# context: ./install/docker/backend
# tags: |
# docker.pkg.github.com/hydro-dev/web:${{ github.sha }}
# docker.pkg.github.com/hydro-dev/web:${{ github.ref }}
# judge:
# needs: build
# if: ${{ github.event_name == 'push' }}
# permissions:
# packages: write
# contents: read
# runs-on: ubuntu-latest
# steps:
# - name: Check out
# uses: actions/checkout@v2
# with:
# submodules: recursive
# - name: Log in to GitHub Docker Registry
# uses: docker/login-action@v1
# with:
# registry: docker.pkg.github.com
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - name: Docker:Judge
# uses: docker/build-push-action@v2
# with:
# push: true
# context: ./install/docker/judge
# tags: |
# docker.pkg.github.com/hydro-dev/judge:${{ github.sha }}
# docker.pkg.github.com/hydro-dev/judge:${{ github.ref }}