General updates to several components #36
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
# Sample workflow for building and deploying a Jekyll site to GitHub Pages | |
name: Deploy Jekyll with GitHub Pages dependencies preinstalled | |
on: | |
# Runs on pushes targeting the default branch | |
push: | |
branches: ["main"] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: write | |
pages: write | |
id-token: write | |
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. | |
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
jobs: | |
# Build job | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
# Checkout as many commits as needed for the diff | |
fetch-depth: 2 | |
- shell: pwsh | |
# Give an id to the step, so we can reference it later | |
id: check_file_changed | |
run: | | |
# Diff HEAD with the previous commit | |
$diff = git diff --name-only HEAD^ HEAD | |
# Check if a file with the .sketch extension has changed (added, modified, deleted) | |
$SourceDiff = $diff | Where-Object { $_ -match '.sketch$' } | |
$HasDiff = $SourceDiff.Length -gt 0 | |
# Set the output named "docs_changed" | |
echo "sketch_changed=$HasDiff" >> $GITHUB_STATE | |
- name: Setup Pages | |
uses: actions/configure-pages@v3 | |
- name: Build with Jekyll | |
uses: actions/jekyll-build-pages@v1 | |
with: | |
source: ./ | |
destination: ./_site | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v2 | |
- name: Update sketch.json | |
uses: sergeysova/jq-action@v2 | |
if: steps.check_file_changed.outputs.sketch_changed == 'True' | |
with: | |
# jq command with arguments | |
cmd: "jq -n --arg name \"CBP DS SKETCH LIBRARY.sketch\" --arg url \"https://github.com/US-CBP/cbp-ds-for-designers/raw/main/CBP%20DS%20SKETCH%20LIBRARY.sketch\" --arg dts \"$(date +%Y%m%d.%H%M%S)\" '{ itemName: $name, versionID: $dts, downloadURL: $url }' > sketch.json" | |
- name: Update sketch.rss version | |
uses: Mudlet/xmlstarlet-action@master | |
if: steps.check_file_changed.outputs.sketch_changed == 'True' | |
with: | |
args: ed -L --update '/rss/channel/item/enclosure/@sparkle:version' -v "$(date +%Y%m%d.%H%M%S)" sketch.rss | |
- name: Update sketch.rss pubDate | |
uses: Mudlet/xmlstarlet-action@master | |
if: steps.check_file_changed.outputs.sketch_changed == 'True' | |
with: | |
args: ed -L --update '/rss/channel/item/pubDate' -v "$(date)" sketch.rss | |
- name: Commit sketch.json | |
if: steps.check_file_changed.outputs.sketch_changed == 'True' | |
run: | | |
git config --global user.name 'GH Action' | |
git config --global user.email '[email protected]' | |
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY | |
git add sketch.* | |
git commit -m "[skip ci] Update sketch.(json,rss) timestamps (automated)" | |
git push | |
# Deployment job | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 |