Added Fusion 15 base project structure. (#7743) #136
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: Publish Website | |
# When to trigger the workflow | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- .github/workflows/publish-website.yml | |
- .docker/website/** | |
- website/** | |
jobs: | |
build-and-deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: Docker Login | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ secrets.CONTAINER_REG_URL }} | |
username: ${{ secrets.CONTAINER_REG_USERNAME }} | |
password: ${{ secrets.CONTAINER_REG_PASSWORD }} | |
- run: echo ${{ secrets.CONTAINER_REG_URL }} | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
cache: "yarn" | |
cache-dependency-path: "website/yarn.lock" | |
- name: Cache Yarn Packages | |
uses: actions/cache@v4 | |
with: | |
path: | | |
website/.yarn/cache | |
website/.cache/yarn | |
key: ${{ runner.os }}-yarn-${{ hashFiles('website/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install Packages | |
run: yarn --immutable --network-timeout 100000 | |
working-directory: website | |
- name: Delete Free Icons | |
run: | | |
rm -rf src/images/icons | |
working-directory: website | |
- name: Unzip Pro Icons | |
run: | | |
sudo apt-get install -y unzip | |
unzip -P ${{ secrets.ICON_PASSWORD }} src/images/icons.zip -d src/images/ | |
working-directory: website | |
- name: Clean Website | |
run: yarn clean | |
working-directory: website | |
- name: Build Website | |
run: yarn build --prefix-paths | |
working-directory: website | |
- name: Build WebSite Container | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: .docker/website/dockerfile | |
push: true | |
tags: ${{ secrets.CONTAINER_REG_DOMAIN }}/ccc-website-${{ github.ref_name }}:${{ github.run_id }} | |
- name: Deploy to Azure WebApp | |
uses: azure/webapps-deploy@v3 | |
with: | |
app-name: ccc-p-us1-website | |
slot-name: "production" | |
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }} | |
images: ${{ secrets.CONTAINER_REG_DOMAIN }}/ccc-website-${{ github.ref_name }}:${{ github.run_id }} | |
- name: Purge CDN Cache | |
run: | | |
curl --request POST \ | |
--url https://api.cloudflare.com/client/v4/zones/${{ secrets.CLOUDFLARE_ZONE_ID }}/purge_cache \ | |
--header 'Content-Type: application/json' \ | |
--header 'Authorization: Bearer ${{ secrets.CLOUDFLARE_AUTH_TOKEN }}' \ | |
--data '{ "purge_everything": true }' |