Restore utility files #20
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: Decrypt, Build, Deploy | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- ./**.md | |
workflow_dispatch: | |
concurrency: # Does this stuff even work? | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
jobs: | |
decrypt: | |
name: 🔐 Decrypt | |
runs-on: ubuntu-latest | |
outputs: | |
current_date: ${{ steps.get_date.outputs.CURRENT_DATE }} | |
steps: | |
- name: Checkout repo | |
uses: actions/[email protected] | |
- name: Setup Node | |
uses: actions/[email protected] | |
- name: Install dependencies | |
run: npm install | |
- name: Decrypt with OpenSSL | |
env: | |
WEB_SOURCE_PASS: ${{ secrets.WEB_SOURCE_PASS }} # There's nothing you can do >:) | |
run: openssl enc -d -aes-256-cbc -in source_encrypted.enc -out src.zip -pass env:WEB_SOURCE_PASS | |
- name: Unzip decrypted source | |
run: unzip -o -qq src.zip | |
- name: Get date | |
id: get_date | |
run: echo "CURRENT_DATE=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Save source | |
uses: actions/cache/save@v3 | |
with: | |
path: ./src | |
key: decrypted-source-${{ steps.get_date.outputs.CURRENT_DATE }} | |
build: | |
name: 🛠️ Build | |
runs-on: ubuntu-latest | |
needs: decrypt | |
steps: | |
- name: Checkout repo | |
uses: actions/[email protected] | |
- name: Setup Node | |
uses: actions/[email protected] | |
- name: Restore cached source | |
uses: actions/cache/restore@v3 | |
with: | |
path: ./src | |
key: decrypted-source-${{ needs.decrypt.outputs.current_date }} | |
- name: Install dependencies | |
run: npm install | |
- name: Compile CSS | |
run: npm run css | |
- name: Build project | |
run: npm run build | |
- name: Create 404 page | |
run: cp ./dist/{index.html,404.html} | |
- name: Setup Pages | |
uses: actions/configure-pages@v3 | |
- name: Upload build files | |
uses: actions/[email protected] | |
with: | |
name: Compiled site | |
path: ./dist | |
deploy: | |
name: 📤 Deploy | |
runs-on: ubuntu-latest | |
needs: build | |
environment: GitHub Pages (Vite) | |
steps: | |
- name: Checkout repo | |
uses: actions/[email protected] | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/[email protected] | |
with: | |
artifact_name: Compiled site |