diff --git a/.github/prepare-thumb-images.sh b/.github/prepare-thumb-images.sh new file mode 100755 index 0000000..c4d2c9f --- /dev/null +++ b/.github/prepare-thumb-images.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# cmd: $ ./prepare-thumb-images.sh srcJson targetPath +# sample: $ .github/prepare-thumb-images.sh src/data/packages.json src/static/Images/packages/ + +mkdir -p $2 +packages="cat $1" +temp_packages="./src/data/temp.json" +cp $1 $temp_packages +for row in $($packages | jq -r '.[] | @base64'); do + _jq() { + echo ${row} | base64 --decode | jq -r ${1} + } + + dl_url=$(_jq '.thumb_image_url') + if [[ $dl_url == *"https://dl.airtable.com/.attachments"* ]]; then + filename=$(basename -- "$dl_url") + extension="${filename##*.}" + filename="${filename%.*}" + slug=$(_jq '.slug') + outputPath=$2/$(_jq '.slug').$extension + new_thumb_image_url="/Images/packages/$slug.$extension" + curl $dl_url -o $2/$slug.$extension + updated_packages=$(jq '(.[] | select(.slug == "'$slug'") | .thumb_image_url) |= "'$new_thumb_image_url'"' ./src/data/temp.json) + echo $updated_packages > $temp_packages + echo "update $slug" + fi +done + +# replace packages.json with the updated version with localized image links +mv $temp_packages $1 \ No newline at end of file diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml index 8885d24..3896154 100644 --- a/.github/workflows/staging.yml +++ b/.github/workflows/staging.yml @@ -29,83 +29,90 @@ jobs: args: -c "cd ./lambdas && serverless deploy" entrypoint: /bin/sh - # deploy: - # runs-on: ubuntu-latest - # steps: - # - name: inject slug/short variables - # uses: rlespinasse/github-slug-action@v3.x - # - name: Set STAGE variable in environment for next steps - # run: echo "STAGE=pr-${{ github.event.number }}-${{ env.GITHUB_HEAD_REF_SLUG }}" >> $GITHUB_ENV + deploy: + runs-on: ubuntu-latest + steps: + - name: inject slug/short variables + uses: rlespinasse/github-slug-action@v3.x + - name: Set STAGE variable in environment for next steps + run: echo "STAGE=pr-${{ github.event.number }}-${{ env.GITHUB_HEAD_REF_SLUG }}" >> $GITHUB_ENV - # - name: Create Deployment - # uses: bobheadxi/deployments@v1 - # id: deployment - # with: - # step: start - # env: ${{ env.STAGE }} - # ref: ${{ github.head_ref }} - # override: true + - name: Create Deployment + uses: bobheadxi/deployments@v1 + id: deployment + with: + step: start + env: ${{ env.STAGE }} + ref: ${{ github.head_ref }} + override: true - # - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - # - name: Apply Staging Configuration - # run: | - # sed -i -e 's/^baseURL\s*=.*$/baseUrl = ""/i' config.toml - # echo "relativeurls = true" >>config.toml - # working-directory: src + - name: Apply Staging Configuration + run: | + sed -i -e 's/^baseURL\s*=.*$/baseUrl = ""/i' config.toml + echo "relativeurls = true" >>config.toml + working-directory: src - # - name: Copy packages.json summary from dist.tea.xyz - # uses: prewk/s3-cp-action@v2 - # with: - # aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} - # aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - # source: 's3://dist.tea.xyz/mock_packages.json' - # dest: './src/data/packages.json' + - name: Copy packages.json summary from dist.tea.xyz + uses: prewk/s3-cp-action@v2 + with: + aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + source: 's3://dist.tea.xyz/mock_packages.json' + dest: './src/data/packages.json' - # - name: Create Package Detail Pages from packages.json - # uses: getneil/jq-action@v1 - # id: version - # with: - # cmd: '.github/build-package-pages.sh src/data/packages.json src/content/packages' + - name: Create Package Detail Pages from packages.json + uses: getneil/jq-action@v1 + id: version + with: + cmd: '.github/build-package-pages.sh src/data/packages.json src/content/packages' - # - run: .github/mk-pantry-accessible.sh ${{ secrets.TEMP_JACOBS_GITHUB_PAT }} + - name: Download package thumbnail images + uses: getneil/jq-action@v1 + id: version + with: + cmd: '.github/prepare-thumb-images.sh src/data/packages.json ./src/static/Images/packages/' - # - uses: teaxyz/setup@v0 - # with: - # target: build - # - name: Check for broken links - # uses: lycheeverse/lychee-action@v1 - # with: - # fail: true - # args: --verbose --no-progress './public/**/*.md' './public/**/*.html' - # env: - # GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + - run: .github/mk-pantry-accessible.sh ${{ secrets.TEMP_JACOBS_GITHUB_PAT }} - # - uses: actions/setup-node@v3 - # with: - # node-version: 14 - # - uses: bahmutov/npm-install@v1 - # with: - # working-directory: .cdk + - uses: teaxyz/setup@v0 + with: + target: build - # - uses: aws-actions/configure-aws-credentials@v1 - # with: - # aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - # aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - # aws-region: us-east-1 + - name: Check for broken links + uses: lycheeverse/lychee-action@v1 + with: + fail: true + args: --verbose --no-progress './public/**/*.md' './public/**/*.html' + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - # - name: Deploy to AWS - # id: cdk_deploy - # run: yarn deploy - # working-directory: .cdk + - uses: actions/setup-node@v3 + with: + node-version: 14 + - uses: bahmutov/npm-install@v1 + with: + working-directory: .cdk + + - uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Deploy to AWS + id: cdk_deploy + run: yarn deploy + working-directory: .cdk - # - name: Seal Deployment - # uses: bobheadxi/deployments@v1 - # if: always() - # with: - # step: finish - # status: ${{ job.status }} - # deployment_id: ${{ steps.deployment.outputs.deployment_id }} - # env: ${{ env.STAGE }} - # env_url: ${{ steps.cdk_deploy.outputs.env_url }} + - name: Seal Deployment + uses: bobheadxi/deployments@v1 + if: always() + with: + step: finish + status: ${{ job.status }} + deployment_id: ${{ steps.deployment.outputs.deployment_id }} + env: ${{ env.STAGE }} + env_url: ${{ steps.cdk_deploy.outputs.env_url }} diff --git a/.gitignore b/.gitignore index 4002794..a142cf4 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ cdk.out # initially committed _sample.md only the rest will be ignored src/content/packages/* +src/static/Images/packages/* \ No newline at end of file