From d290a4537473493abe38c31e03ec9279e9e402c2 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Sat, 19 Apr 2025 09:26:00 -0500 Subject: [PATCH 1/7] Moving app to azure storage --- .github/workflows/app_build.yaml | 70 ------------------ .github/workflows/app_build_deploy.yaml | 96 +++++++++++++++++++++++++ .github/workflows/main.yaml | 26 +++---- .github/workflows/pull_request.yaml | 2 +- infrastructure/.terraform.lock.hcl | 26 +++---- infrastructure/config/main.tf | 21 ++++++ infrastructure/config/outputs.tf | 8 +++ infrastructure/main.tf | 2 + 8 files changed, 154 insertions(+), 97 deletions(-) delete mode 100644 .github/workflows/app_build.yaml create mode 100644 .github/workflows/app_build_deploy.yaml diff --git a/.github/workflows/app_build.yaml b/.github/workflows/app_build.yaml deleted file mode 100644 index ac0900a..0000000 --- a/.github/workflows/app_build.yaml +++ /dev/null @@ -1,70 +0,0 @@ -name: 'App Build' -on: - workflow_call: - inputs: - environment_name: - required: true - type: string - version_number: - required: true - type: string - -env: - VITE_API_URL: ${{ vars.VITE_API_URL }} - VITE_CLIENT_ID: ${{ vars.VITE_CLIENT_ID }} - VITE_TENANT_ID: ${{ vars.VITE_TENANT_ID }} - VITE_REDIRECT_URL: ${{ vars.VITE_REDIRECT_URL }} - -jobs: - build: - runs-on: ubuntu-latest - environment: ${{ inputs.environment_name }} - steps: - - uses: actions/checkout@v4 - with: - sparse-checkout: | - app - - - uses: pnpm/action-setup@v4 - name: Install pnpm - with: - version: 10 - run_install: false - - - name: 'Setup Node' - uses: actions/setup-node@v4 - with: - node-version: ${{ vars.NODE_VERSION }} - - - name: Install - run: | - pnpm install - - - name: Build - run: | - pnpm --filter app build - - - name: Deploy - if: ${{ github.event_name != 'pull_request' }} - run: | - pnpm --filter app --prod deploy ./.prod/app - - - name: Setup Docker Buildx - if: ${{ github.event_name != 'pull_request' }} - uses: docker/setup-buildx-action@v3 - - - name: Log into Docker Hub - if: ${{ github.event_name != 'pull_request' }} - uses: docker/login-action@v3 - with: - username: ${{ vars.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push to registry - if: ${{ github.event_name != 'pull_request' }} - uses: docker/build-push-action@v6 - with: - push: true - tags: noahspan/root-app:${{ inputs.version_number }} - context: . - target: app diff --git a/.github/workflows/app_build_deploy.yaml b/.github/workflows/app_build_deploy.yaml new file mode 100644 index 0000000..3f00639 --- /dev/null +++ b/.github/workflows/app_build_deploy.yaml @@ -0,0 +1,96 @@ +name: 'App Build' +on: + workflow_call: + inputs: + environment_name: + required: true + type: string + version_number: + required: true + type: string + +env: + VITE_API_URL: ${{ vars.VITE_API_URL }} + VITE_CLIENT_ID: ${{ vars.VITE_CLIENT_ID }} + VITE_TENANT_ID: ${{ vars.VITE_TENANT_ID }} + VITE_REDIRECT_URL: ${{ vars.VITE_REDIRECT_URL }} + +jobs: + build: + runs-on: ubuntu-latest + environment: ${{ inputs.environment_name }} + steps: + - uses: actions/checkout@v4 + with: + sparse-checkout: | + app + + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + version: 10 + run_install: false + + - name: 'Setup Node' + uses: actions/setup-node@v4 + with: + node-version: ${{ vars.NODE_VERSION }} + + - name: Install + run: | + pnpm install + + - name: Build + run: | + pnpm --filter app build + + - name: Deploy + uses: azure/login@v2 + with: + client-id: ${{ vars.VITE_CLIENT_ID }} + tenant-id: ${{ vars.VITE_TENANT_ID }} + subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} + + - name: Upload + if: ${{ inputs.environment_name != 'pull_request' }} + uses: azure/CLI@v1 + with: + inlineScript: | + az storage blob upload-batch --account-name ${{ vars.AZURE_STORAGE_ACCOUNT_NAME }} --auth-mode key -d '$web' -s ./dist + + # - name: Purge CDN endpoint + # if: ${{ inputs.environment_name != 'pull_request' }} + # uses: azure/CLI@v1 + # with: + # inlineScript: | + # az cdn endpoint purge --content-paths "/*" --profile-name "CDN_PROFILE_NAME" --name "CDN_ENDPOINT" --resource-group "RESOURCE_GROUP" + + - name: logout + if: ${{ inputs.environment_name != 'pull_request' }} + run: | + az logout + + # - name: Deploy + # if: ${{ github.event_name != 'pull_request' }} + # run: | + # pnpm --filter app --prod deploy ./.prod/app + + # - name: Setup Docker Buildx + # if: ${{ github.event_name != 'pull_request' }} + # uses: docker/setup-buildx-action@v3 + + # - name: Log into Docker Hub + # if: ${{ github.event_name != 'pull_request' }} + # uses: docker/login-action@v3 + # with: + # username: ${{ vars.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + + # - name: Build and push to registry + # if: ${{ github.event_name != 'pull_request' }} + # uses: docker/build-push-action@v6 + # with: + # push: true + # tags: noahspan/root-app:${{ inputs.version_number }} + # context: . + # target: app diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 6334a70..b9a54da 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -31,25 +31,25 @@ jobs: version_number: ${{ github.run_id }} secrets: inherit - build-app: + build-deploy-app: if: ${{ needs.changes.outputs.app == 'true' }} name: build-app needs: - changes - uses: ./.github/workflows/app_build.yaml + uses: ./.github/workflows/app_build_deploy.yaml with: environment_name: test version_number: ${{ github.run_id }} secrets: inherit - deploy-app: - name: deploy-app - needs: - - changes - - build-app - uses: ./.github/workflows/deploy.yaml - with: - app_name: root-app - environment_name: test - version_number: ${{ github.run_id }} - secrets: inherit + # deploy-app: + # name: deploy-app + # needs: + # - changes + # - build-app + # uses: ./.github/workflows/deploy.yaml + # with: + # app_name: root-app + # environment_name: test + # version_number: ${{ github.run_id }} + # secrets: inherit diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index 3de7e68..d712b8c 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -23,7 +23,7 @@ jobs: name: build-app needs: - changes - uses: ./.github/workflows/app_build.yaml + uses: ./.github/workflows/app_build_deploy.yaml with: environment_name: pull_request version_number: ${{ github.run_id }} diff --git a/infrastructure/.terraform.lock.hcl b/infrastructure/.terraform.lock.hcl index eff5b3b..59edd9a 100644 --- a/infrastructure/.terraform.lock.hcl +++ b/infrastructure/.terraform.lock.hcl @@ -2,20 +2,20 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/hashicorp/azurerm" { - version = "3.104.0" + version = "4.26.0" hashes = [ - "h1:SSBkZNrevDxOI6j9tVel7/BKX/5xaMYUqx4qhLvrjS4=", - "zh:01aa74b1e13c797b20407c37c683b945ffb24462bb39cdaddcf5b3297272c85a", - "zh:42c3a69ece44ed6dbd5145dadbdbde9a2e99c3dc0b5a0b28544fd68e796a755d", - "zh:48102182e71a10f8337828239d770953fb54e95c4f617a5a327316ba7d9c9aa5", - "zh:4c086420f1acc033b5901dc266721a38f43cbab43dedae149df3ccd8d1a3615d", - "zh:634e3d701798d699f502c86d1ee591778fa0a46be81a220bd849c0389cd742f1", - "zh:6aa0c6cb606dcd8efe90fb9fb872aa5406119264ce2819d8daf35c813e6ba2f7", - "zh:8604d0a159b1905d7a92448d5e2e1ec0b3275b9b2d8f7986f4a566f570a6f90c", - "zh:912ddd9a43cbb168a58f1af625a8fe111e505c059442ad6126905449e5013877", - "zh:9ed54f1e7ae7881611ae659bfbd11db878adc77aa848b920cc0d76a1ab41a2ac", - "zh:b507020a566bdbc0dfe868103664361e8ee5549de6edceb7f5d6837dcd8af5a3", + "h1:Vdylhj5W0M+J62bOOdvVUlmGB7M5TfaNRcThdb8ydcc=", + "zh:0e381bace81028596d60e253bc320bf62d00ae2ec207d7c7e70cdbec5f543334", + "zh:32c8cf70e476a4d0e0a2d4cb94b4a4e95c287c5972ca1e8c0f37dc629fbe31cb", + "zh:568ebaa4c66fc668dc14c8ff323e47fc7b2ac3b5a5d9eec612de2b6a30164f4c", + "zh:596c218810ffb85bc7224574b6ba6dbab9295bfa7490eac98c5ff88beae75710", + "zh:75a0e5b60f24684d62944714deb1c790b17c8d4acc93b5cdb45a8187d887b7f1", + "zh:7d2abea6ab66a08fed7d1ab8d4f3a8344fe7e2ac76d7409a3e40e8c066df6f22", + "zh:7f4db75991fd610b2c0306226e5e1916d4b633cdb0126bc78951dce2365b3418", + "zh:95fe307defb6e0dc172855fa597140f3da96655b3c558c140ae51a4a6077f58d", + "zh:ae07cdd3c658c0e24d45f1cfadf8b085b18981bcd72a20093ce3f042ed0adf3f", + "zh:d2a471b9e42499a7247f873aebd5cbc8df0c6691f02a5c9b556aa00045c06869", + "zh:e0299c0f6eae2b1c935f552f76fc49a2e61975eeda9410e3920a004b74d9e750", "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - "zh:f7fc6699a0359183911448bf9736777cd6d8ce91fd20d682cf635fa58e2905dd", ] } diff --git a/infrastructure/config/main.tf b/infrastructure/config/main.tf index 20ce412..de054fb 100644 --- a/infrastructure/config/main.tf +++ b/infrastructure/config/main.tf @@ -49,11 +49,32 @@ locals { prod = "root-log-analytics-workspace-prod" } + static_websites = { + test = [ + { + error_404_document = "custom_not_found.html" + index_document = "index.html" + } + ] + } + storage_account_name = { test = "noahspanroottest" prod = "noahspanrootprod" } + storage_blobs = { + test = [ + { + name = "web" + storage_container_name = "$web" + type = "Block" + content_type = "text/html" + source = "index.html" + } + ] + } + storage_tables = { test = ["projects"] prod = ["projects"] diff --git a/infrastructure/config/outputs.tf b/infrastructure/config/outputs.tf index 446d7fb..91476e9 100644 --- a/infrastructure/config/outputs.tf +++ b/infrastructure/config/outputs.tf @@ -38,10 +38,18 @@ output "log_analytics_workspace_name" { value = local.log_analytics_workspace_name[var.environment] } +output "static_websites" { + value = local.static_websites[var.environment] +} + output "storage_account_name" { value = local.storage_account_name[var.environment] } +output "storage_blobs" { + value = local.storage_blobs[var.environment] +} + output "storage_tables" { value = local.storage_tables[var.environment] } \ No newline at end of file diff --git a/infrastructure/main.tf b/infrastructure/main.tf index 24c41e8..ab2a40f 100644 --- a/infrastructure/main.tf +++ b/infrastructure/main.tf @@ -1,7 +1,9 @@ module "storage" { source = "github.com/noahspannbauer/noahspan-terraform/modules/storage" resource_group_name = var.RESOURCE_GROUP_NAME + static_websites = module.environment.static_websites storage_account_name = module.environment.storage_account_name + storage_blobs = module.environment.storage_blobs storage_tables = module.environment.storage_tables } -- 2.49.1 From 38c9f86b4ac6926320751bacf11f7f7c507b52de Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Sat, 19 Apr 2025 09:28:17 -0500 Subject: [PATCH 2/7] Moving app to azure storage --- app/package.json | 2 +- pnpm-lock.yaml | 173 +++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 144 insertions(+), 31 deletions(-) diff --git a/app/package.json b/app/package.json index f3376a3..fdbac39 100644 --- a/app/package.json +++ b/app/package.json @@ -13,7 +13,7 @@ "@azure/msal-browser": "^4.2.1", "@azure/msal-react": "^3.0.4", "@microsoft/microsoft-graph-types": "^2.40.0", - "@noahspan/noahspan-components": "^1.4.0", + "@noahspan/noahspan-components": "^1.7.5", "axios": "^1.7.9", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2b55ea5..3e88ab9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -134,8 +134,8 @@ importers: specifier: ^2.40.0 version: 2.40.0 '@noahspan/noahspan-components': - specifier: ^1.4.0 - version: 1.4.0(@mui/system@6.4.3(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(less@4.2.2)(moment@2.30.1)(postcss@8.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3)(webpack@5.98.0(esbuild@0.18.20)) + specifier: ^1.7.5 + version: 1.7.5(@mui/system@6.4.3(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(jquery@3.7.1)(less@4.2.2)(moment@2.30.1)(postcss@8.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3)(webpack@5.98.0(esbuild@0.18.20)) axios: specifier: ^1.7.9 version: 1.7.9 @@ -484,6 +484,10 @@ packages: resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.27.0': + resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} + engines: {node: '>=6.9.0'} + '@babel/template@7.26.8': resolution: {integrity: sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==} engines: {node: '>=6.9.0'} @@ -1612,8 +1616,8 @@ packages: '@nestjs/common': ^9.0.0 || ^10.0.0 '@nestjs/core': ^9.0.0 || ^10.0.0 - '@noahspan/noahspan-components@1.4.0': - resolution: {integrity: sha512-Urq/hHr3KCbmnKO6NhruZQhJnFjiycQ8yReV/JFoxNdlN7WTWGIGEca9MnqNH11WmRK+RtecU4ByehrHqqqK3Q==} + '@noahspan/noahspan-components@1.7.5': + resolution: {integrity: sha512-udxXiYI0GLL2Jo9jqc981BYLXQK3cxkwioA90o1cIXhN85ZT/8uRZr5gS/eMGzlctnRU5s5M4kQEns1Ry35m0Q==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.2.0 @@ -2990,6 +2994,9 @@ packages: classnames@2.3.2: resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -3198,9 +3205,16 @@ packages: babel-plugin-macros: optional: true + deep-freeze@0.0.1: + resolution: {integrity: sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deepmerge@2.2.1: + resolution: {integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==} + engines: {node: '>=0.10.0'} + deepmerge@4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} @@ -3332,6 +3346,12 @@ packages: resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} + enquire.js@2.1.6: + resolution: {integrity: sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==} + + equals@1.0.5: + resolution: {integrity: sha512-wI15a6ZoaaXPv+55+Vh2Kqn3+efKRv8QPtcGTjW5xmanMnQzESdAt566jevtMZyt3W/jwLDTzXpMph5ECDJ2zg==} + errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true @@ -4169,9 +4189,15 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true + jkroso-type@1.1.1: + resolution: {integrity: sha512-zZgay+fPG6PgMUrpyFADmQmvLo39+AZa7Gc5pZhev2RhDxwANEq2etwD8d0e6rTg5NkwOIlQmaEmns3draC6Ng==} + jose@4.15.9: resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} + jquery@3.7.1: + resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4210,6 +4236,9 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json2mq@0.2.0: + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -4300,6 +4329,9 @@ packages: lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + lodash.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} @@ -4877,6 +4909,12 @@ packages: pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + pure-react-carousel@1.32.0: + resolution: {integrity: sha512-RW0zKjjId1Xmspcqdu3v0pmlce3BVDACJ0fzt1+ZPJ4GxqJbIqt2kPAh1e5M19S5BDewihnq6kz4kIaGXleO3w==} + peerDependencies: + react: 15.x || 16.x || 17.x || 18.x + react-dom: 15.x || 16.x || 17.x || 18.x + qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -4973,6 +5011,12 @@ packages: react-dom: optional: true + react-slick@0.30.3: + resolution: {integrity: sha512-B4x0L9GhkEWUMApeHxr/Ezp2NncpGc+5174R02j+zFiWuYboaq98vmxwlpafZfMjZic1bjdIqqmwLDcQY0QaFA==} + peerDependencies: + react: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-style-singleton@2.2.3: resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} @@ -5040,6 +5084,9 @@ packages: reselect@5.1.1: resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -5250,6 +5297,11 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + slick-carousel@1.8.1: + resolution: {integrity: sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==} + peerDependencies: + jquery: '>=1.8.0' + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -5303,6 +5355,9 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + string-convert@0.2.1: + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} + string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -6254,6 +6309,10 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 + '@babel/runtime@7.27.0': + dependencies: + regenerator-runtime: 0.14.1 + '@babel/template@7.26.8': dependencies: '@babel/code-frame': 7.26.2 @@ -7461,7 +7520,7 @@ snapshots: - stream-browserify - supports-color - '@noahspan/noahspan-components@1.4.0(@mui/system@6.4.3(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(less@4.2.2)(moment@2.30.1)(postcss@8.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3)(webpack@5.98.0(esbuild@0.18.20))': + '@noahspan/noahspan-components@1.7.5(@mui/system@6.4.3(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0))(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(jquery@3.7.1)(less@4.2.2)(moment@2.30.1)(postcss@8.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3)(webpack@5.98.0(esbuild@0.18.20))': dependencies: '@emotion/react': 11.14.0(@types/react@19.0.8)(react@19.0.0) '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0))(@types/react@19.0.8)(react@19.0.0) @@ -7485,9 +7544,12 @@ snapshots: '@tanstack/react-table': 8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) date-fns: 3.6.0 dayjs: 1.11.13 + pure-react-carousel: 1.32.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-day-picker: 8.10.1(date-fns@3.6.0)(react@19.0.0) react-dom: 19.0.0(react@19.0.0) + react-slick: 0.30.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + slick-carousel: 1.8.1(jquery@3.7.1) transitivePeerDependencies: - '@mui/material-pigment-css' - '@mui/system' @@ -7497,6 +7559,7 @@ snapshots: - date-fns-jalali - encoding - fibers + - jquery - less - luxon - moment @@ -7625,17 +7688,17 @@ snapshots: '@radix-ui/number@1.0.1': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/primitive@1.0.1': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/primitive@1.1.1': {} '@radix-ui/react-arrow@1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -7645,7 +7708,7 @@ snapshots: '@radix-ui/react-collection@1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-compose-refs': 1.0.1(@types/react@19.0.8)(react@19.0.0) '@radix-ui/react-context': 1.0.1(@types/react@19.0.8)(react@19.0.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7670,7 +7733,7 @@ snapshots: '@radix-ui/react-compose-refs@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 react: 19.0.0 optionalDependencies: '@types/react': 19.0.8 @@ -7683,7 +7746,7 @@ snapshots: '@radix-ui/react-context@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 react: 19.0.0 optionalDependencies: '@types/react': 19.0.8 @@ -7696,7 +7759,7 @@ snapshots: '@radix-ui/react-direction@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 react: 19.0.0 optionalDependencies: '@types/react': 19.0.8 @@ -7709,7 +7772,7 @@ snapshots: '@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@19.0.8)(react@19.0.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7723,14 +7786,14 @@ snapshots: '@radix-ui/react-focus-guards@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 react: 19.0.0 optionalDependencies: '@types/react': 19.0.8 '@radix-ui/react-focus-scope@1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-compose-refs': 1.0.1(@types/react@19.0.8)(react@19.0.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@19.0.8)(react@19.0.0) @@ -7742,7 +7805,7 @@ snapshots: '@radix-ui/react-id@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@19.0.8)(react@19.0.0) react: 19.0.0 optionalDependencies: @@ -7757,7 +7820,7 @@ snapshots: '@radix-ui/react-popper@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@19.0.8)(react@19.0.0) @@ -7776,7 +7839,7 @@ snapshots: '@radix-ui/react-portal@1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -7786,7 +7849,7 @@ snapshots: '@radix-ui/react-primitive@1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-slot': 1.0.2(@types/react@19.0.8)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -7822,7 +7885,7 @@ snapshots: '@radix-ui/react-select@1.2.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7861,7 +7924,7 @@ snapshots: '@radix-ui/react-slot@1.0.2(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-compose-refs': 1.0.1(@types/react@19.0.8)(react@19.0.0) react: 19.0.0 optionalDependencies: @@ -7917,7 +7980,7 @@ snapshots: '@radix-ui/react-use-callback-ref@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 react: 19.0.0 optionalDependencies: '@types/react': 19.0.8 @@ -7930,7 +7993,7 @@ snapshots: '@radix-ui/react-use-controllable-state@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@19.0.8)(react@19.0.0) react: 19.0.0 optionalDependencies: @@ -7945,7 +8008,7 @@ snapshots: '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@19.0.8)(react@19.0.0) react: 19.0.0 optionalDependencies: @@ -7953,7 +8016,7 @@ snapshots: '@radix-ui/react-use-layout-effect@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 react: 19.0.0 optionalDependencies: '@types/react': 19.0.8 @@ -7966,14 +8029,14 @@ snapshots: '@radix-ui/react-use-previous@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 react: 19.0.0 optionalDependencies: '@types/react': 19.0.8 '@radix-ui/react-use-rect@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/rect': 1.0.1 react: 19.0.0 optionalDependencies: @@ -7981,7 +8044,7 @@ snapshots: '@radix-ui/react-use-size@1.0.1(@types/react@19.0.8)(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@19.0.8)(react@19.0.0) react: 19.0.0 optionalDependencies: @@ -7989,7 +8052,7 @@ snapshots: '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -7999,7 +8062,7 @@ snapshots: '@radix-ui/rect@1.0.1': dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.27.0 '@rollup/rollup-android-arm-eabi@4.34.7': optional: true @@ -9165,6 +9228,8 @@ snapshots: classnames@2.3.2: {} + classnames@2.5.1: {} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -9344,8 +9409,12 @@ snapshots: optionalDependencies: babel-plugin-macros: 3.1.0 + deep-freeze@0.0.1: {} + deep-is@0.1.4: {} + deepmerge@2.2.1: {} + deepmerge@4.2.2: {} deepmerge@4.3.1: {} @@ -9448,6 +9517,12 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enquire.js@2.1.6: {} + + equals@1.0.5: + dependencies: + jkroso-type: 1.1.1 + errno@0.1.8: dependencies: prr: 1.0.1 @@ -10689,8 +10764,12 @@ snapshots: jiti@1.21.7: {} + jkroso-type@1.1.1: {} + jose@4.15.9: {} + jquery@3.7.1: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -10718,6 +10797,10 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json2mq@0.2.0: + dependencies: + string-convert: 0.2.1 + json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -10836,6 +10919,8 @@ snapshots: lodash.clonedeep@4.5.0: {} + lodash.debounce@4.0.8: {} + lodash.includes@4.3.0: {} lodash.isboolean@3.0.3: {} @@ -11376,6 +11461,16 @@ snapshots: pure-rand@6.1.0: {} + pure-react-carousel@1.32.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@babel/runtime': 7.27.0 + deep-freeze: 0.0.1 + deepmerge: 2.2.1 + equals: 1.0.5 + prop-types: 15.8.1 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + qs@6.13.0: dependencies: side-channel: 1.1.0 @@ -11465,6 +11560,16 @@ snapshots: optionalDependencies: react-dom: 19.0.0(react@19.0.0) + react-slick@0.30.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + classnames: 2.5.1 + enquire.js: 2.1.6 + json2mq: 0.2.0 + lodash.debounce: 4.0.8 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + resize-observer-polyfill: 1.5.1 + react-style-singleton@2.2.3(@types/react@19.0.8)(react@19.0.0): dependencies: get-nonce: 1.0.1 @@ -11530,6 +11635,8 @@ snapshots: reselect@5.1.1: {} + resize-observer-polyfill@1.5.1: {} + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 @@ -11787,6 +11894,10 @@ snapshots: slash@3.0.0: {} + slick-carousel@1.8.1(jquery@3.7.1): + dependencies: + jquery: 3.7.1 + source-map-js@1.2.1: {} source-map-support@0.5.13: @@ -11829,6 +11940,8 @@ snapshots: streamsearch@1.1.0: {} + string-convert@0.2.1: {} + string-length@4.0.2: dependencies: char-regex: 1.0.2 -- 2.49.1 From 8de27135735293fe76cad9a670c552fd83852ac6 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Sat, 19 Apr 2025 09:30:18 -0500 Subject: [PATCH 3/7] Moving app to azure storage --- .github/workflows/app_build_deploy.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/app_build_deploy.yaml b/.github/workflows/app_build_deploy.yaml index 3f00639..9ea8640 100644 --- a/.github/workflows/app_build_deploy.yaml +++ b/.github/workflows/app_build_deploy.yaml @@ -45,6 +45,7 @@ jobs: pnpm --filter app build - name: Deploy + if: ${{ inputs.environment_name != 'pull_request' }} uses: azure/login@v2 with: client-id: ${{ vars.VITE_CLIENT_ID }} -- 2.49.1 From 66e12ea8c83acae0e7fc8745c74d9630b1f56290 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Sat, 19 Apr 2025 09:36:15 -0500 Subject: [PATCH 4/7] Moving app to azure storage --- .github/workflows/pull_request.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index d712b8c..b8bed1b 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -3,6 +3,10 @@ name: Pull Request on: pull_request: +permissions: + id-token: write + contents: read + jobs: changes: uses: ./.github/workflows/changes.yaml -- 2.49.1 From f34f0ba67d812cc2c90aaef7145c5b55033e4e55 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Sat, 19 Apr 2025 09:37:00 -0500 Subject: [PATCH 5/7] Moving app to azure storage --- .github/workflows/app_build_deploy.yaml | 4 ++++ .github/workflows/pull_request.yaml | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/app_build_deploy.yaml b/.github/workflows/app_build_deploy.yaml index 9ea8640..322393d 100644 --- a/.github/workflows/app_build_deploy.yaml +++ b/.github/workflows/app_build_deploy.yaml @@ -15,6 +15,10 @@ env: VITE_TENANT_ID: ${{ vars.VITE_TENANT_ID }} VITE_REDIRECT_URL: ${{ vars.VITE_REDIRECT_URL }} +permissions: + id-token: write + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index b8bed1b..d712b8c 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -3,10 +3,6 @@ name: Pull Request on: pull_request: -permissions: - id-token: write - contents: read - jobs: changes: uses: ./.github/workflows/changes.yaml -- 2.49.1 From feffad4a0703e369fe35c4cb5bb84f5981af944d Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Sat, 19 Apr 2025 09:40:46 -0500 Subject: [PATCH 6/7] Moving app to azure storage --- app/src/components/projects/Projects.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/components/projects/Projects.tsx b/app/src/components/projects/Projects.tsx index 5a9ceeb..6198d82 100644 --- a/app/src/components/projects/Projects.tsx +++ b/app/src/components/projects/Projects.tsx @@ -233,7 +233,7 @@ const Projects = () => { - Loading... + Loading projects... )} -- 2.49.1 From c00ebb71ce663ea139f2cb21ee02519496e1ff49 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Sat, 19 Apr 2025 09:54:39 -0500 Subject: [PATCH 7/7] Moving app to azure storage --- .github/workflows/app_build_deploy.yaml | 4 ++-- app/src/components/projects/Projects.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/app_build_deploy.yaml b/.github/workflows/app_build_deploy.yaml index 322393d..27fcbe3 100644 --- a/.github/workflows/app_build_deploy.yaml +++ b/.github/workflows/app_build_deploy.yaml @@ -61,7 +61,7 @@ jobs: uses: azure/CLI@v1 with: inlineScript: | - az storage blob upload-batch --account-name ${{ vars.AZURE_STORAGE_ACCOUNT_NAME }} --auth-mode key -d '$web' -s ./dist + az storage blob upload-batch --account-name ${{ vars.AZURE_STORAGE_ACCOUNT_NAME }} --auth-mode key -d '$web' -s ./app/dist # - name: Purge CDN endpoint # if: ${{ inputs.environment_name != 'pull_request' }} @@ -70,7 +70,7 @@ jobs: # inlineScript: | # az cdn endpoint purge --content-paths "/*" --profile-name "CDN_PROFILE_NAME" --name "CDN_ENDPOINT" --resource-group "RESOURCE_GROUP" - - name: logout + - name: Azure CLI logout if: ${{ inputs.environment_name != 'pull_request' }} run: | az logout diff --git a/app/src/components/projects/Projects.tsx b/app/src/components/projects/Projects.tsx index 6198d82..c0da709 100644 --- a/app/src/components/projects/Projects.tsx +++ b/app/src/components/projects/Projects.tsx @@ -233,7 +233,7 @@ const Projects = () => { - Loading projects... + Loading projects slowly... )} -- 2.49.1