This repository has been archived by the owner on Feb 20, 2024. It is now read-only.
less mods, better style #3232
Workflow file for this run
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
name: programming team code CI | |
on: push | |
jobs: | |
library_checker_aizu: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up Python | |
uses: actions/setup-python@v1 | |
- name: Install dependencies | |
run: pip3 install -U online-judge-verify-helper | |
- name: Set up Rust (1.42.0) | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.42.0-x86_64-unknown-linux-gnu | |
default: true | |
profile: minimal | |
# required by cargo-udeps | |
- name: Set up Rust (nightly) | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-x86_64-unknown-linux-gnu | |
default: true | |
profile: minimal | |
- name: Set up git submodules | |
run: | | |
git submodule init | |
git submodule update | |
rm -rf hackpack-cpp/tests/ | |
- name: Run tests | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
YUKICODER_TOKEN: ${{ secrets.YUKICODER_TOKEN }} | |
GH_PAT: ${{ secrets.GH_PAT }} | |
run: oj-verify all --tle 20 | |
astyle_cppcheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apt install astyle cppcheck | |
- name: Astyle, cppcheck | |
run: make --directory=tests/ astyle_cppcheck | |
clangtidy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apt install clang | |
- name: clang-tidy | |
run: make --directory=tests/ clangtidy | |
compile_gcc17: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Compile all tests | |
run: make --directory=tests/ compile_gcc17 | |
compile_gcc20: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Compile all tests | |
run: make --directory=tests/ compile_gcc20 | |
files_without_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: files without tests | |
run: make --directory=tests/ files_without_tests | |
doxygen: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install doxygen | |
run: sudo apt install doxygen | |
- name: Check correctness, completeness of doxygen comments | |
run: make --directory=tests/ doxygen | |
build_hackpack: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install texlive, rename, nodejs, npm | |
run: | | |
sudo apt update | |
sudo apt install texlive texlive-latex-extra rename nodejs npm | |
- name: build hackpack | |
run: make --directory=tests/ hackpack | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: hackpack | |
path: tests/hackpack.pdf | |
publish_hackpack: | |
runs-on: ubuntu-latest | |
needs: [library_checker_aizu, astyle_cppcheck, clangtidy, compile_gcc17, compile_gcc20, files_without_tests, doxygen, build_hackpack] | |
if: github.ref == 'refs/heads/dev' | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: hackpack | |
path: tests/hackpack.pdf | |
- uses: marvinpinto/action-automatic-releases@latest | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
automatic_release_tag: hackpack | |
prerelease: false | |
title: hackpack | |
files: tests/hackpack.pdf | |
update_main: | |
runs-on: ubuntu-latest | |
needs: [library_checker_aizu, astyle_cppcheck, clangtidy, compile_gcc17, compile_gcc20, files_without_tests, doxygen] | |
if: github.ref == 'refs/heads/dev' | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apt install astyle | |
- name: Combine includes and force push to main branch | |
run: | | |
git config --local user.name github-actions | |
git config --local user.email [email protected] | |
make --directory=tests/ update_main | |
git rm -rf library/ tests/ .verify-helper/ .gitmodules kactl/ hackpack-cpp/ notebook-generator/ .github/workflows/run_tests_scheduled.yml | |
git add --all | |
git commit --message "programming_team_code" | |
git checkout -b main | |
git push origin main --force | |
shellcheck_shfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apt install shfmt shellcheck | |
- name: shellcheck and shfmt | |
run: make --directory=tests/ shellcheck_shfmt |