diff --git a/.github/workflows/delete_development.yml b/.github/workflows/delete_development.yml index 6714ed6..637078b 100644 --- a/.github/workflows/delete_development.yml +++ b/.github/workflows/delete_development.yml @@ -2,7 +2,7 @@ name: delete_development on: workflow_dispatch: env: - COMPONENT_NAME: 'ilw-video' # set this to the web component name you are using + COMPONENT_NAME: ${{ github.event.repository.name }} jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/deploy_production.yml b/.github/workflows/deploy.yml similarity index 54% rename from .github/workflows/deploy_production.yml rename to .github/workflows/deploy.yml index 9ae57f2..87b368c 100644 --- a/.github/workflows/deploy_production.yml +++ b/.github/workflows/deploy.yml @@ -1,12 +1,13 @@ -name: deploy_production +name: deploy on: - push: - tags: [ '**' ] + release: + types: [published] env: MAJORVERSION: '' MINORVERSION: '' FULLVERSION: '' - COMPONENT_NAME: 'ilw-video' # set this to the web component name you are using + PRERELEASE: '' + COMPONENT_NAME: ${{ github.event.repository.name }} jobs: build: runs-on: ubuntu-latest @@ -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 86% rename from .github/workflows/deploy_development.yml rename to .github/workflows/deploy_development_manual.yml index 776e8bc..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,8 +8,7 @@ on: default: '' type: string env: - MAJORVERSION: '' - COMPONENT_NAME: 'ilw-video' # set this to the web component name you are using + COMPONENT_NAME: ${{ github.event.repository.name }} jobs: build: runs-on: ubuntu-latest @@ -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 5b8d46a..d2eb320 100644 --- a/.github/workflows/deploy_production_manual.yml +++ b/.github/workflows/deploy_production_manual.yml @@ -8,10 +8,7 @@ on: default: '' type: string env: - MAJORVERSION: '' - MINORVERSION: '' - FULLVERSION: '' - COMPONENT_NAME: 'ilw-video' # set this to the web component name you are using + COMPONENT_NAME: ${{ github.event.repository.name }} jobs: build: runs-on: ubuntu-latest @@ -23,7 +20,7 @@ jobs: env: GITHUB_BRANCH: ${{ github.event.inputs.version }} - name: Display version install - run: echo "Installing dev 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/builder/ilw-video-short.json b/builder/ilw-video-short.json index f75e4db..0d59872 100644 --- a/builder/ilw-video-short.json +++ b/builder/ilw-video-short.json @@ -7,5 +7,5 @@ "description": "Responsive video wrapper for Illinois Toolkit proportioned for YouTube shorts.", "toolkit-version": "", "production-version": "", - "development-version": "1.0.0-alpha" + "development-version": "1.0-beta" } \ No newline at end of file diff --git a/builder/ilw-video.json b/builder/ilw-video.json index 6bcf052..de5566d 100644 --- a/builder/ilw-video.json +++ b/builder/ilw-video.json @@ -7,5 +7,5 @@ "description": "Responsive video wrapper for Illinois Toolkit. This component ensures a consistent size and aspect ratio across breakpoints, but does not supply the video element or its controls.", "toolkit-version": "", "production-version": "", - "development-version": "1.0.0-alpha" + "development-version": "1.0-beta" } \ No newline at end of file diff --git a/builder/versions/ilw-video-short.1.0.0-alpha.json b/builder/versions/ilw-video-short.1.0-beta.json similarity index 90% rename from builder/versions/ilw-video-short.1.0.0-alpha.json rename to builder/versions/ilw-video-short.1.0-beta.json index 6da9389..ebaf6fd 100644 --- a/builder/versions/ilw-video-short.1.0.0-alpha.json +++ b/builder/versions/ilw-video-short.1.0-beta.json @@ -5,10 +5,11 @@ "type": "web component", "element-name": "ilw-video", "description": "Responsive video wrapper for Illinois Toolkit proportioned for YouTube shorts.", - "version": "1.0.0-alpha", - "date": "8/6/2024", - "css": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-alpha/ilw-video.css", - "js": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-alpha/ilw-video.js", + "builder-version": "1.0-beta", + "version": "1.0.0-beta", + "date": "9/13/2024", + "css": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-beta/ilw-video.css", + "js": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-beta/ilw-video.js", "production": false, "notes": "", "parent-style": "", diff --git a/builder/versions/ilw-video.1.0.0-alpha.json b/builder/versions/ilw-video.1.0-beta.json similarity index 92% rename from builder/versions/ilw-video.1.0.0-alpha.json rename to builder/versions/ilw-video.1.0-beta.json index 329e1e8..c857423 100644 --- a/builder/versions/ilw-video.1.0.0-alpha.json +++ b/builder/versions/ilw-video.1.0-beta.json @@ -5,10 +5,11 @@ "type": "web component", "element-name": "ilw-video", "description": "Responsive video wrapper for Illinois Toolkit. This component ensures a consistent size and aspect ratio across breakpoints, but does not supply the video element or its controls.", - "version": "1.0.0-alpha", - "date": "8/6/2024", - "css": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-alpha/ilw-video.css", - "js": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-alpha/ilw-video.js", + "builder-version": "1.0-beta", + "version": "1.0.0-beta", + "date": "9/13/2024", + "css": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-beta/ilw-video.css", + "js": "https://dev.toolkit.illinois.edu/ilw-video/1.0.0-beta/ilw-video.js", "production": false, "notes": "", "parent-style": "", diff --git a/package-lock.json b/package-lock.json index 2cbb591..e5f9dd8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@illinois-toolkit/ilw-video", - "version": "1.0.0-alpha", + "version": "1.0.0-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@illinois-toolkit/ilw-video", - "version": "1.0.0-alpha", + "version": "1.0.0-beta", "license": "MIT", "dependencies": { "lit": "3.1.3" diff --git a/package.json b/package.json index cd82324..7d8b21d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@illinois-toolkit/ilw-video", "description": "Illinois Toolkit: A responsive wrapper for embedded videos.", "private": false, - "version": "1.0.0-alpha", + "version": "1.0.0-beta", "type": "module", "files": [ "src/**",