From baeafeae51bef53ca477c7a0f147521ae57fc883 Mon Sep 17 00:00:00 2001 From: Hunter Caron Date: Tue, 5 Mar 2024 16:08:52 +0100 Subject: [PATCH] First pass on github action --- .github/workflows/sync.yml | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/sync.yml diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml new file mode 100644 index 0000000..8ac6f5f --- /dev/null +++ b/.github/workflows/sync.yml @@ -0,0 +1,61 @@ +--- +name: Upload plugins + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + + # NOTE: https://github.com/aws-actions/configure-aws-credentials#usage + permissions: + id-token: write + contents: read + + steps: + - name: "Checkout repository" + uses: actions/checkout@v2 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "lts/*" + + - name: Build artifacts + run: | + mkdir p + for dir in plugins/*/ + do + dir=${dir%*/} + build_dir=${dir##*/} + echo "Processing $dir" + cd "${dir}" + yarn install + yarn run build --base /${build_dir} + + # If your build outputs artifacts to a 'p' folder + + mkdir "../../p/${build_dir}" + cp -R dist/* "../../p/${build_dir}" + cd - # return to root directory + done + + - name: Configure AWS credentials + if: ${{ github.ref_name == 'main' }} + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: arn:aws:iam::946663360620:role/GitHubActions-framer-MiscAssets + aws-region: us-east-1 + + - name: Sync with S3 + if: ${{ github.ref_name == 'main' }} + run: aws s3 sync ./p/ s3://946663360620-us-east-1-static-files --delete --exclude '.git/*' --exclude README.md --exclude '.github/*' --exclude .gitattributes --exclude .gitignore + + - name: "Bust the CDN cache" + uses: chetan/invalidate-cloudfront-action@v2 + env: + PATHS: "/*" + DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION }}