diff --git a/.github/workflows/deploy_production.yml b/.github/workflows/deploy.yml similarity index 55% rename from .github/workflows/deploy_production.yml rename to .github/workflows/deploy.yml index 167dd2b..87b368c 100644 --- a/.github/workflows/deploy_production.yml +++ b/.github/workflows/deploy.yml @@ -1,11 +1,12 @@ -name: deploy_production +name: deploy on: - push: - tags: [ '**' ] + release: + types: [published] env: MAJORVERSION: '' MINORVERSION: '' FULLVERSION: '' + PRERELEASE: '' COMPONENT_NAME: ${{ github.event.repository.name }} jobs: build: @@ -15,7 +16,7 @@ jobs: uses: actions/checkout@v4 - name: 'Get Version' id: get_version - uses: battila7/get-version-action@v2 + uses: dhkatz/get-version-action@v3.0.0 - name: 'Check for correct naming convention' if: ${{ !steps.get_version.outputs.is-semver }} @@ -33,12 +34,22 @@ jobs: run: echo "FULLVERSION=${GITHUB_BRANCH}" >> $GITHUB_ENV env: GITHUB_BRANCH: ${{ steps.get_version.outputs.version-without-v }} + - name: Get prelease version from tag + run: echo "PRERELEASE=${GITHUB_BRANCH}" >> $GITHUB_ENV + env: + GITHUB_BRANCH: ${{ steps.get_version.outputs.prerelease }} - name: Display major version install - run: echo "Installing major version ${MAJORVERSION}" + run: echo "Installing major version ${MAJORVERSION} for ${COMPONENT_NAME}" - name: Display minor version install - run: echo "Installing minor version ${MINORVERSION}" + run: echo "Installing minor version ${MINORVERSION} for ${COMPONENT_NAME}" - name: Display patch (full) version install - run: echo "Installing patch (full) version ${FULLVERSION}" + run: echo "Installing patch (full) version ${FULLVERSION} for ${COMPONENT_NAME}" + - name: Production run + if: ${{ steps.get_version.outputs.prerelease == '' }} + run: echo "Running production deployment" + - name: Prerelease run + if: ${{ steps.get_version.outputs.prerelease != '' }} + run: echo "Running development deployment" - run: npm install - run: npm rebuild @@ -51,14 +62,32 @@ jobs: aws-region: us-east-2 - name: Deploy toolbox to S3 bucket for major version + if: ${{ steps.get_version.outputs.prerelease == '' }} run: aws s3 sync ./dist/ s3://cdn.toolkit.illinois.edu/content/$COMPONENT_NAME/$MAJORVERSION --delete --acl bucket-owner-full-control - name: Invalidate Cloudfront cache for major version + if: ${{ steps.get_version.outputs.prerelease == '' }} run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT }} --paths "/$COMPONENT_NAME/$MAJORVERSION*" - name: Deploy toolbox to S3 bucket for minor version + if: ${{ steps.get_version.outputs.prerelease == '' }} run: aws s3 sync ./dist/ s3://cdn.toolkit.illinois.edu/content/$COMPONENT_NAME/$MINORVERSION --delete --acl bucket-owner-full-control - name: Invalidate Cloudfront cache for minor version + if: ${{ steps.get_version.outputs.prerelease == '' }} run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT }} --paths "/$COMPONENT_NAME/$MINORVERSION*" - name: Deploy toolbox to S3 bucket for patch (full) version + if: ${{ steps.get_version.outputs.prerelease == '' }} run: aws s3 sync ./dist/ s3://cdn.toolkit.illinois.edu/content/$COMPONENT_NAME/$FULLVERSION --delete --acl bucket-owner-full-control - name: Invalidate Cloudfront cache for patch (full) version - run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT }} --paths "/$COMPONENT_NAME/$FULLVERSION*" \ No newline at end of file + if: ${{ steps.get_version.outputs.prerelease == '' }} + run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT }} --paths "/$COMPONENT_NAME/$FULLVERSION*" + - name: Deploy toolbox to S3 bucket for full version dev + if: ${{ steps.get_version.outputs.prerelease != '' }} + run: aws s3 sync ./dist/ s3://dev.toolkit.illinois.edu/content/$COMPONENT_NAME/$FULLVERSION --delete --acl bucket-owner-full-control + - name: Invalidate Cloudfront cache for full version dev + if: ${{ steps.get_version.outputs.prerelease != '' }} + run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT_DEV }} --paths "/$COMPONENT_NAME/$FULLVERSION*" + - name: Deploy toolbox to S3 bucket for latest dev + if: ${{ steps.get_version.outputs.prerelease != '' }} + run: aws s3 sync ./dist/ s3://dev.toolkit.illinois.edu/content/$COMPONENT_NAME/latest --delete --acl bucket-owner-full-control + - name: Invalidate Cloudfront cache for latest dev + if: ${{ steps.get_version.outputs.prerelease != '' }} + run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT_DEV }} --paths "/$COMPONENT_NAME/latest*" diff --git a/.github/workflows/deploy_development.yml b/.github/workflows/deploy_development_manual.yml similarity index 90% rename from .github/workflows/deploy_development.yml rename to .github/workflows/deploy_development_manual.yml index 00660b9..77e74ba 100644 --- a/.github/workflows/deploy_development.yml +++ b/.github/workflows/deploy_development_manual.yml @@ -1,4 +1,4 @@ -name: deploy_development +name: deploy_development_manual on: workflow_dispatch: inputs: @@ -8,7 +8,6 @@ on: default: '' type: string env: - MAJORVERSION: '' COMPONENT_NAME: ${{ github.event.repository.name }} jobs: build: @@ -21,7 +20,7 @@ jobs: env: GITHUB_BRANCH: ${{ github.event.inputs.version }} - name: Display version install - run: echo "Installing dev version ${VERSION}" + run: echo "Installing dev version ${VERSION} for component ${COMPONENT_NAME}" - run: npm install - run: npm rebuild @@ -35,4 +34,4 @@ jobs: - name: Deploy toolbox to S3 bucket run: aws s3 sync ./dist/ s3://dev.toolkit.illinois.edu/content/$COMPONENT_NAME/$VERSION --delete --acl bucket-owner-full-control - name: Invalidate Cloudfront cache - run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT_DEV }} --paths "/$COMPONENT_NAME/$VERSION*" \ No newline at end of file + run: aws cloudfront create-invalidation --distribution-id ${{ vars.TOOLKIT_AWS_CLOUDFRONT_DEV }} --paths "/$COMPONENT_NAME/$VERSION*" diff --git a/.github/workflows/deploy_production_manual.yml b/.github/workflows/deploy_production_manual.yml index 252cdca..d2eb320 100644 --- a/.github/workflows/deploy_production_manual.yml +++ b/.github/workflows/deploy_production_manual.yml @@ -8,9 +8,6 @@ on: default: '' type: string env: - MAJORVERSION: '' - MINORVERSION: '' - FULLVERSION: '' COMPONENT_NAME: ${{ github.event.repository.name }} jobs: build: @@ -23,7 +20,7 @@ jobs: env: GITHUB_BRANCH: ${{ github.event.inputs.version }} - name: Display version install - run: echo "Installing production version ${VERSION}" + run: echo "Installing production version ${VERSION} for component ${COMPONENT_NAME}" - run: npm install - run: npm rebuild diff --git a/.github/workflows/publish_npm.yml b/.github/workflows/publish_npm.yml index 37b416a..964f0d0 100644 --- a/.github/workflows/publish_npm.yml +++ b/.github/workflows/publish_npm.yml @@ -1,8 +1,8 @@ name: publish_npm on: workflow_dispatch: - push: - tags: [ '**' ] + release: + types: [published] jobs: build: runs-on: ubuntu-latest @@ -18,4 +18,4 @@ jobs: - name: Install to npm run: npm publish --access public env: - NODE_AUTH_TOKEN: ${{secrets.TOOLKIT_NPM_SECRET}} + NODE_AUTH_TOKEN: ${{secrets.TOOLKIT_NPM_SECRET}} \ No newline at end of file diff --git a/.github/workflows/templating.yml b/.github/workflows/templating.yml deleted file mode 100644 index d3dd39c..0000000 --- a/.github/workflows/templating.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Apply caz templating - -on: [push] - -jobs: - run-caz: - # Avoid running more than once - if: ${{ github.repository != 'web-illinois/toolkit-template' && github.repository != 'marvel-uiuc/template-ilw' && github.run_number == 1 }} - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - ref: ${{ github.head_ref }} - - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Apply caz template - run: npx -y caz ./ output --name ${{ github.event.repository.name }} --repository ${{ github.repository }} - - name: Commit template changes - run: | - git config user.name 'github-actions[bot]' - git config user.email 'github-actions[bot]@users.noreply.github.com' - rm -rf template index.js .gitignore package-lock.json README.md - cp -rT output . - rm -rf output - git add -A - git commit -a -m "chore: init template" - git push --force \ No newline at end of file diff --git a/builder/ilw-grid.json b/builder/ilw-grid.json index c6e9743..483fc68 100644 --- a/builder/ilw-grid.json +++ b/builder/ilw-grid.json @@ -7,5 +7,5 @@ "description": "Creates a grid of items that you can use to display information.", "toolkit-version": "", "production-version": "", - "development-version": "1.0.0-alpha1" + "development-version": "1.0-beta" } diff --git a/builder/versions/ilw-grid.1.0.0-alpha1.json b/builder/versions/ilw-grid.1.0-beta.json similarity index 94% rename from builder/versions/ilw-grid.1.0.0-alpha1.json rename to builder/versions/ilw-grid.1.0-beta.json index 4884d88..a0d3217 100644 --- a/builder/versions/ilw-grid.1.0.0-alpha1.json +++ b/builder/versions/ilw-grid.1.0-beta.json @@ -5,10 +5,11 @@ "type": "web component", "element-name": "ilw-grid", "description": "Creates a grid of items that you can use to display information.", - "version": "1.0.0-alpha1", - "date": "07/17/2024", - "css": "https://dev.toolkit.illinois.edu/ilw-grid/1.0.0-alpha1/ilw-grid.css", - "js": "https://dev.toolkit.illinois.edu/ilw-grid/1.0.0-alpha1/ilw-grid.js", + "builder-version": "1.0-beta", + "version": "1.0.0-beta", + "date": "09/13/2024", + "css": "https://dev.toolkit.illinois.edu/ilw-grid/1.0.0-beta/ilw-grid.css", + "js": "https://dev.toolkit.illinois.edu/ilw-grid/1.0.0-beta/ilw-grid.js", "production": false, "notes": "", "parent-style": "", diff --git a/package-lock.json b/package-lock.json index 05de362..4fdc2de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,13 @@ { "name": "@illinois-toolkit/ilw-grid", - "version": "0.0.1", + "version": "1.0.0-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@illinois-toolkit/ilw-grid", - "version": "0.0.1", + "version": "1.0.0-beta", + "license": "MIT", "dependencies": { "lit": "3.1.3" }, diff --git a/package.json b/package.json index 4a10c51..ce79f7a 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "description": "Illinois Toolkit: Creates a grid of items that you can use to display information.", "repository": "github:web-illinois/ilw-grid", "private": false, - "version": "1.0.0-alpha1", + "license": "MIT", + "version": "1.0.0-beta", "type": "module", "files": [ "src/**",