adjust button placement #239
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: CI/CD | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2.3.4 | |
- name: Setup Ruby enviornment | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 2.7 | |
- name: Setup Node.js enviornemnt | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16' | |
- name: Install yarn | |
run: | | |
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - | |
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list | |
sudo apt update && sudo apt install yarn | |
yarn --version | |
- name: Install all dependencies | |
run: | | |
cd website && bundle install --jobs=10 && cd .. | |
gem install jekyll --user-install | |
yarn | |
- name: Build assets (such as imgs, css, js, etc.) with gulp (pre-build of website) | |
run: gulp prebuild | |
- name: Build link redirect pages | |
run: node create_site_redirect_links.js | |
- name: Build site with Jekyll | |
run: cd website && bundle exec jekyll build && cd .. | |
- name: More gulp tasks for minification and optimization (post-build of website) | |
run: gulp postbuild | |
- name: Prepare | |
run: | | |
mkdir public | |
cp -r website/_site/* public | |
cd public | |
cd .. | |
- name: Save as an artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: public-website | |
path: ./public | |
# security-testing: | |
# runs-on: ubuntu-latest | |
# needs: [build] | |
# steps: | |
# - name: Download artifact | |
# uses: actions/download-artifact@v2 | |
# with: | |
# name: public-website | |
# path: ./public | |
# - name: Setup Node.js enviornemnt | |
# uses: actions/setup-node@v1.4.4 | |
# - name: Install http-server | |
# run: sudo npm install --global http-server | |
# - name: Run http-server | |
# run: http-server ./public & | |
# - name: OWASP ZAP Baseline Scan | |
# uses: zaproxy/action-baseline@v0.4.0 | |
# with: | |
# target: http://localhost:8080 | |
# cmd_options: -I | |
lighthouse-check: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v2.3.4 | |
- name: Download artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: public-website | |
path: ./public | |
- name: Setup Node.js enviornemnt | |
uses: actions/setup-node@v1.4.4 | |
- name: Install http-server | |
run: sudo npm install --global http-server | |
- name: Run http-server | |
run: http-server ./public & | |
- name: Make tempdir for artifacts | |
run: mkdir /tmp/artifacts | |
- name: Run Lighthouse | |
uses: foo-software/lighthouse-check-action@v2.0.5 | |
with: | |
accessToken: ${{ secrets.GITHUB_TOKEN }} | |
author: ${{ github.actor }} | |
outputDirectory: /tmp/artifacts | |
urls: "http://localhost:8080/,http://localhost:8080/rover,http://localhost:8080/sumobot" | |
sha: ${{ github.sha }} | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: Lighthouse reports | |
path: /tmp/artifacts | |
html5-validation-testing: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: public-website | |
path: ./public | |
- name: HTML5 Validation | |
uses: Cyb3r-Jak3/html5validator-action@v0.4.3 | |
with: | |
root: ./public | |
deploy: | |
runs-on: ubuntu-latest | |
needs: [build, html5-validation-testing] | |
# needs: [build, security-testing, html5-validation-testing] | |
if: github.ref == 'refs/heads/master' | |
steps: | |
- uses: actions/checkout@v2.3.4 | |
- name: Download artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: public-website | |
path: ./public | |
- name: Deploy | |
uses: peaceiris/actions-gh-pages@v3.7.3 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./public |