From c58cd84266a49daff6f10cbcc84ba2ac7b6e5513 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Sun, 11 Aug 2024 16:05:10 +0200 Subject: [PATCH 01/17] update build-and-publish-docker.yml to only use docker tags provided --- .github/workflows/build-and-publish-docker.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 1e0840e..1cc8650 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -62,18 +62,19 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} # Use the GitHub token as the password # This step logs in to the Docker registry so that images can be pushed - # Step 6: Extract Docker image metadata (tags, labels) + # Step 6: Extract Docker image metadata (tags, labels) - name: Extract Docker metadata id: meta # Assigns an ID to this step for referencing its outputs later uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | - # Define tags for the Docker image using version information - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} + ${{ env.IMAGE_NAME }}:latest # Tag the image with 'latest' + ${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} # Tag the image with the full version (e.g., 1.0.0) + ${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} # Tag the image with the major.minor version (e.g., 1.0) + ${{ env.IMAGE_NAME }}:${{ env.MAJOR }} # Tag the image with the major version (e.g., 1) + flavor: | + tags=true # Ensures the tags defined above are created, without adding any extra tags # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image From be8ceb94422b4a54f705faa8461449b97f683b0d Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Sun, 11 Aug 2024 16:12:17 +0200 Subject: [PATCH 02/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 1cc8650..1a8bb7f 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -69,12 +69,11 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | - ${{ env.IMAGE_NAME }}:latest # Tag the image with 'latest' - ${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} # Tag the image with the full version (e.g., 1.0.0) - ${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} # Tag the image with the major.minor version (e.g., 1.0) - ${{ env.IMAGE_NAME }}:${{ env.MAJOR }} # Tag the image with the major version (e.g., 1) - flavor: | - tags=true # Ensures the tags defined above are created, without adding any extra tags + # Define tags for the Docker image using version information + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image From 66083c48d316e3a2d8457923c7ae79745db4aa17 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:19:19 +0200 Subject: [PATCH 03/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 1a8bb7f..e8f2e43 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -69,11 +69,12 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | + type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.MAJOR_MINOR_PATCH }} # Define tags for the Docker image using version information - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image From 680bf63452d078a281bc90e86b52e9003329225a Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:23:31 +0200 Subject: [PATCH 04/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index e8f2e43..13bd273 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -31,16 +31,10 @@ jobs: - name: Extract version from package.json id: version run: | - # Extract the full version (e.g., 1.2.3) from package.json + # Extract the version from package.json MAJOR_MINOR_PATCH=$(grep '"version":' package.json | cut -d '"' -f 4) - # Extract the major.minor version (e.g., 1.2) - MAJOR_MINOR=$(echo $MAJOR_MINOR_PATCH | cut -d '.' -f1-2) - # Extract the major version (e.g., 1) - MAJOR=$(echo $MAJOR_MINOR_PATCH | cut -d '.' -f1) - # Store the extracted values as environment variables for use in later steps + # Store the extracted value as environment variable for use in later steps echo "MAJOR_MINOR_PATCH=$MAJOR_MINOR_PATCH" >> $GITHUB_ENV - echo "MAJOR_MINOR=$MAJOR_MINOR" >> $GITHUB_ENV - echo "MAJOR=$MAJOR" >> $GITHUB_ENV # Step 3: Install the cosign tool for signing Docker images - name: Install cosign @@ -69,12 +63,10 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | - type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.MAJOR_MINOR_PATCH }} # Define tags for the Docker image using version information - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} + type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.MAJOR_MINOR_PATCH }} + type=semver,pattern={{major}}.{{minor}},value=${{ env.MAJOR_MINOR_PATCH }} + type=semver,pattern={{major}},value=${{ env.MAJOR_MINOR_PATCH }} # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image From c086f40f9ac38ef78ae89f92c9a4638c8ca43476 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:26:43 +0200 Subject: [PATCH 05/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 13bd273..14f3344 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -76,7 +76,7 @@ jobs: context: . # The context is the root of the repository push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step - labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step + # labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step cache-from: type=gha # Use GitHub Actions cache to speed up builds cache-to: type=gha,mode=max # Store the cache in GitHub Actions for reuse # This step builds the Docker image and pushes it to the registry (if not a PR) From acd151366df1ed64e55332d9cffbda9df75897f1 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:32:54 +0200 Subject: [PATCH 06/17] Update build-and-publish-docker.yml --- .../workflows/build-and-publish-docker.yml | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 14f3344..2e3e7b1 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -6,47 +6,52 @@ on: branches: [ "main" ] # Trigger on push to the main branch pull_request: branches: [ "main" ] # Trigger on pull requests to the main branch - + env: # Docker registry configuration REGISTRY: ghcr.io # Use GitHub Container Registry by default IMAGE_NAME: ${{ github.repository }} # Docker image name is the GitHub repository name - + jobs: build-and-publish: - runs-on: ubuntu-latest # Use the latest Ubuntu runner for this job permissions: contents: read # Allows the workflow to read repository contents packages: write # Allows the workflow to write to GitHub Packages (e.g., Docker images) id-token: write # Required for signing Docker images with cosign outside of PRs - + steps: # Step 1: Check out the repository code - name: Checkout repository uses: actions/checkout@v4 # This step checks out the repository code so the workflow can access it - + # Step 2: Extract version information from package.json - name: Extract version from package.json id: version run: | - # Extract the version from package.json + # Extract the full version (e.g., 1.2.3) from package.json MAJOR_MINOR_PATCH=$(grep '"version":' package.json | cut -d '"' -f 4) - # Store the extracted value as environment variable for use in later steps + # Extract the major.minor version (e.g., 1.2) + MAJOR_MINOR=$(echo $MAJOR_MINOR_PATCH | cut -d '.' -f1-2) + # Extract the major version (e.g., 1) + MAJOR=$(echo $MAJOR_MINOR_PATCH | cut -d '.' -f1) + # Store the extracted values as environment variables for use in later steps echo "MAJOR_MINOR_PATCH=$MAJOR_MINOR_PATCH" >> $GITHUB_ENV - + echo "MAJOR_MINOR=$MAJOR_MINOR" >> $GITHUB_ENV + echo "MAJOR=$MAJOR" >> $GITHUB_ENV + # Step 3: Install the cosign tool for signing Docker images - name: Install cosign if: github.event_name != 'pull_request' # Only install cosign if not a PR uses: sigstore/cosign-installer@v3 # This installs the cosign tool for use in the signing step later - + # Step 4: Set up Docker Buildx for building multi-platform Docker images - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 # Docker Buildx enables advanced features like multi-platform builds and cache exporting - + # Step 5: Log in to the Docker registry - name: Log into registry ${{ env.REGISTRY }} uses: docker/login-action@v3 @@ -55,8 +60,8 @@ jobs: username: ${{ github.actor }} # Use the GitHub actor (user) as the username password: ${{ secrets.GITHUB_TOKEN }} # Use the GitHub token as the password # This step logs in to the Docker registry so that images can be pushed - - # Step 6: Extract Docker image metadata (tags, labels) + + # Step 6: Extract Docker image metadata (tags, labels) - name: Extract Docker metadata id: meta # Assigns an ID to this step for referencing its outputs later uses: docker/metadata-action@v5 @@ -64,10 +69,11 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | # Define tags for the Docker image using version information - type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.MAJOR_MINOR_PATCH }} - type=semver,pattern={{major}}.{{minor}},value=${{ env.MAJOR_MINOR_PATCH }} - type=semver,pattern={{major}},value=${{ env.MAJOR_MINOR_PATCH }} - + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} + # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image id: build-and-push # Assigns an ID to this step for referencing its outputs later @@ -76,11 +82,11 @@ jobs: context: . # The context is the root of the repository push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step - # labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step + labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step cache-from: type=gha # Use GitHub Actions cache to speed up builds cache-to: type=gha,mode=max # Store the cache in GitHub Actions for reuse # This step builds the Docker image and pushes it to the registry (if not a PR) - + # Step 8: Sign the resulting Docker image digest (only if not a PR) - name: Sign the published Docker image if: ${{ github.event_name != 'pull_request' }} # Only sign if not a PR From 2cba4978bb9024ca68bf35014f9549b37af1701b Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:35:15 +0200 Subject: [PATCH 07/17] Update build-and-publish-docker.yml --- .../workflows/build-and-publish-docker.yml | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 2e3e7b1..b7ed282 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -62,17 +62,17 @@ jobs: # This step logs in to the Docker registry so that images can be pushed # Step 6: Extract Docker image metadata (tags, labels) - - name: Extract Docker metadata - id: meta # Assigns an ID to this step for referencing its outputs later - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - # Define tags for the Docker image using version information - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} + #- name: Extract Docker metadata + # id: meta # Assigns an ID to this step for referencing its outputs later + # uses: docker/metadata-action@v5 + # with: + # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + # tags: | + # # Define tags for the Docker image using version information + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} + # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image @@ -81,8 +81,14 @@ jobs: with: context: . # The context is the root of the repository push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR - tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step - labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step + tags: | + # Define tags for the Docker image using version information + latest + ${{ env.MAJOR_MINOR_PATCH }} + ${{ env.MAJOR_MINOR }} + ${{ env.MAJOR }} + # tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step + # labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step cache-from: type=gha # Use GitHub Actions cache to speed up builds cache-to: type=gha,mode=max # Store the cache in GitHub Actions for reuse # This step builds the Docker image and pushes it to the registry (if not a PR) From ee59129598f82e448fcdf30fc55c69b9b2e7e101 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:36:24 +0200 Subject: [PATCH 08/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index b7ed282..1de23e3 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -81,8 +81,8 @@ jobs: with: context: . # The context is the root of the repository push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR + # Define tags for the Docker image using version information tags: | - # Define tags for the Docker image using version information latest ${{ env.MAJOR_MINOR_PATCH }} ${{ env.MAJOR_MINOR }} From 04ee7b369d90575a33574fbcc6019cef2d66761f Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:38:30 +0200 Subject: [PATCH 09/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 1de23e3..a126a98 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -94,10 +94,10 @@ jobs: # This step builds the Docker image and pushes it to the registry (if not a PR) # Step 8: Sign the resulting Docker image digest (only if not a PR) - - name: Sign the published Docker image - if: ${{ github.event_name != 'pull_request' }} # Only sign if not a PR - env: - TAGS: ${{ steps.meta.outputs.tags }} # Use the tags generated earlier - DIGEST: ${{ steps.build-and-push.outputs.digest }} # Use the digest of the built image - run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} + #- name: Sign the published Docker image + # if: ${{ github.event_name != 'pull_request' }} # Only sign if not a PR + # env: + # TAGS: ${{ steps.meta.outputs.tags }} # Use the tags generated earlier + # DIGEST: ${{ steps.build-and-push.outputs.digest }} # Use the digest of the built image + # run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} # This step signs the Docker image using cosign to ensure its integrity and authenticity From 7f54378fc25155801643e2a37bfb378fd8e7bf8e Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:44:36 +0200 Subject: [PATCH 10/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index a126a98..66ba413 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -83,10 +83,10 @@ jobs: push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR # Define tags for the Docker image using version information tags: | - latest - ${{ env.MAJOR_MINOR_PATCH }} - ${{ env.MAJOR_MINOR }} - ${{ env.MAJOR }} + test/test:latest + test/test:${{ env.MAJOR_MINOR_PATCH }} + test/test:${{ env.MAJOR_MINOR }} + test/test:${{ env.MAJOR }} # tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step # labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step cache-from: type=gha # Use GitHub Actions cache to speed up builds From cdaa5b5dbf6116cafc17f647b579548de01a225c Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:46:53 +0200 Subject: [PATCH 11/17] Update build-and-publish-docker.yml --- .../workflows/build-and-publish-docker.yml | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 66ba413..83a7175 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -62,17 +62,17 @@ jobs: # This step logs in to the Docker registry so that images can be pushed # Step 6: Extract Docker image metadata (tags, labels) - #- name: Extract Docker metadata - # id: meta # Assigns an ID to this step for referencing its outputs later - # uses: docker/metadata-action@v5 - # with: - # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - # tags: | - # # Define tags for the Docker image using version information - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} - # ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} + - name: Extract Docker metadata + id: meta # Assigns an ID to this step for referencing its outputs later + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + # Define tags for the Docker image using version information + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image @@ -82,12 +82,7 @@ jobs: context: . # The context is the root of the repository push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR # Define tags for the Docker image using version information - tags: | - test/test:latest - test/test:${{ env.MAJOR_MINOR_PATCH }} - test/test:${{ env.MAJOR_MINOR }} - test/test:${{ env.MAJOR }} - # tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step + tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step # labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step cache-from: type=gha # Use GitHub Actions cache to speed up builds cache-to: type=gha,mode=max # Store the cache in GitHub Actions for reuse From 92391b2b452c774ce8e7c888e7b1918e70659a38 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:54:16 +0200 Subject: [PATCH 12/17] Update build-and-publish-docker.yml --- .../workflows/build-and-publish-docker.yml | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 83a7175..3c1d2a6 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -30,22 +30,10 @@ jobs: - name: Extract version from package.json id: version run: | - # Extract the full version (e.g., 1.2.3) from package.json - MAJOR_MINOR_PATCH=$(grep '"version":' package.json | cut -d '"' -f 4) - # Extract the major.minor version (e.g., 1.2) - MAJOR_MINOR=$(echo $MAJOR_MINOR_PATCH | cut -d '.' -f1-2) - # Extract the major version (e.g., 1) - MAJOR=$(echo $MAJOR_MINOR_PATCH | cut -d '.' -f1) - # Store the extracted values as environment variables for use in later steps - echo "MAJOR_MINOR_PATCH=$MAJOR_MINOR_PATCH" >> $GITHUB_ENV - echo "MAJOR_MINOR=$MAJOR_MINOR" >> $GITHUB_ENV - echo "MAJOR=$MAJOR" >> $GITHUB_ENV - - # Step 3: Install the cosign tool for signing Docker images - - name: Install cosign - if: github.event_name != 'pull_request' # Only install cosign if not a PR - uses: sigstore/cosign-installer@v3 - # This installs the cosign tool for use in the signing step later + # Extract the version (e.g., 1.2.3) from package.json + SEMVER=$(grep '"version":' package.json | cut -d '"' -f 4) + # Store the extracted version as environment variable SEMVER + echo "SEMVER=$SEMVER" >> $GITHUB_ENV # Step 4: Set up Docker Buildx for building multi-platform Docker images - name: Set up Docker Buildx @@ -69,10 +57,10 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | # Define tags for the Docker image using version information - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR_PATCH }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR_MINOR }} - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.MAJOR }} + type=raw,value=latest + type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.SEMVER }} + type=semver,pattern={{major}}.{{minor}},value=${{ env.SEMVER }} + type=semver,pattern={{major}},value=${{ env.SEMVER } # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image @@ -87,6 +75,12 @@ jobs: cache-from: type=gha # Use GitHub Actions cache to speed up builds cache-to: type=gha,mode=max # Store the cache in GitHub Actions for reuse # This step builds the Docker image and pushes it to the registry (if not a PR) + + # Step 3: Install the cosign tool for signing Docker images + #- name: Install cosign + # if: github.event_name != 'pull_request' # Only install cosign if not a PR + # uses: sigstore/cosign-installer@v3 + # This installs the cosign tool for use in the signing step later # Step 8: Sign the resulting Docker image digest (only if not a PR) #- name: Sign the published Docker image From 76d1f1a8c92ed7a76dbd50c9c4175acea2a77bb2 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:55:17 +0200 Subject: [PATCH 13/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 3c1d2a6..14bef1b 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -60,7 +60,7 @@ jobs: type=raw,value=latest type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.SEMVER }} type=semver,pattern={{major}}.{{minor}},value=${{ env.SEMVER }} - type=semver,pattern={{major}},value=${{ env.SEMVER } + type=semver,pattern={{major}},value=${{ env.SEMVER }} # Step 7: Build and push Docker image using Docker Buildx - name: Build and push Docker image From 19b11d819bc45750a112c5bc98d0489df5095d94 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:57:43 +0200 Subject: [PATCH 14/17] Update build-and-publish-docker.yml --- .github/workflows/build-and-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 14bef1b..735d18b 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -71,7 +71,7 @@ jobs: push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR # Define tags for the Docker image using version information tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step - # labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step + labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step cache-from: type=gha # Use GitHub Actions cache to speed up builds cache-to: type=gha,mode=max # Store the cache in GitHub Actions for reuse # This step builds the Docker image and pushes it to the registry (if not a PR) From cf04a4b3491a5973204f33e0e21b232bec90b28c Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:04:02 +0200 Subject: [PATCH 15/17] update build-and-publish-docker.yml --- .../workflows/build-and-publish-docker.yml | 113 +++++++----------- 1 file changed, 46 insertions(+), 67 deletions(-) diff --git a/.github/workflows/build-and-publish-docker.yml b/.github/workflows/build-and-publish-docker.yml index 735d18b..941e804 100644 --- a/.github/workflows/build-and-publish-docker.yml +++ b/.github/workflows/build-and-publish-docker.yml @@ -1,92 +1,71 @@ name: Build and Publish Docker Image -# This workflow triggers on a push to the main branch or pull requests targeting the main branch. on: push: - branches: [ "main" ] # Trigger on push to the main branch + branches: [ "main" ] # Trigger the workflow when code is pushed to the main branch pull_request: - branches: [ "main" ] # Trigger on pull requests to the main branch - + branches: [ "main" ] # Trigger the workflow for pull requests targeting the main branch + env: - # Docker registry configuration - REGISTRY: ghcr.io # Use GitHub Container Registry by default - IMAGE_NAME: ${{ github.repository }} # Docker image name is the GitHub repository name - + REGISTRY: ghcr.io # Set the Docker registry to GitHub Container Registry (ghcr.io) + IMAGE_NAME: ${{ github.repository }} # Use the GitHub repository name as the Docker image name + jobs: build-and-publish: - runs-on: ubuntu-latest # Use the latest Ubuntu runner for this job + runs-on: ubuntu-latest # Use the latest stable Ubuntu version as the runner environment permissions: - contents: read # Allows the workflow to read repository contents - packages: write # Allows the workflow to write to GitHub Packages (e.g., Docker images) - id-token: write # Required for signing Docker images with cosign outside of PRs - + contents: read # Allows reading of repository contents + packages: write # Allows publishing packages (e.g., Docker images) to GitHub Packages + id-token: write # Required for future features like signing images with cosign + steps: # Step 1: Check out the repository code - name: Checkout repository - uses: actions/checkout@v4 - # This step checks out the repository code so the workflow can access it - + uses: actions/checkout@v4 # This action checks out the repository code for use in the workflow + # Step 2: Extract version information from package.json - name: Extract version from package.json - id: version + id: version # Assign an ID to reference this step's outputs later if needed run: | - # Extract the version (e.g., 1.2.3) from package.json + # Extract the semantic version (e.g., 1.2.3) from the package.json file SEMVER=$(grep '"version":' package.json | cut -d '"' -f 4) - # Store the extracted version as environment variable SEMVER + # Store the extracted version as an environment variable for use in later steps echo "SEMVER=$SEMVER" >> $GITHUB_ENV - - # Step 4: Set up Docker Buildx for building multi-platform Docker images + + # Step 3: Set up Docker Buildx - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - # Docker Buildx enables advanced features like multi-platform builds and cache exporting - - # Step 5: Log in to the Docker registry + uses: docker/setup-buildx-action@v3 # Set up Docker Buildx to enable advanced Docker features + # Docker Buildx allows for multi-platform builds, build caching, and more + + # Step 4: Log in to the Docker registry - name: Log into registry ${{ env.REGISTRY }} - uses: docker/login-action@v3 + uses: docker/login-action@v3 # Log into the Docker registry to enable pushing images with: - registry: ${{ env.REGISTRY }} # The Docker registry to log into - username: ${{ github.actor }} # Use the GitHub actor (user) as the username - password: ${{ secrets.GITHUB_TOKEN }} # Use the GitHub token as the password - # This step logs in to the Docker registry so that images can be pushed - - # Step 6: Extract Docker image metadata (tags, labels) + registry: ${{ env.REGISTRY }} # Specify the Docker registry (ghcr.io) + username: ${{ github.actor }} # Use the GitHub actor (the user triggering the workflow) as the username + password: ${{ secrets.GITHUB_TOKEN }} # Use the GitHub token to authenticate (securely passed as a secret) + + # Step 5: Extract Docker image metadata (tags, labels) - name: Extract Docker metadata - id: meta # Assigns an ID to this step for referencing its outputs later - uses: docker/metadata-action@v5 + id: meta # Assign an ID to reference this step's outputs (tags and labels) in the build step + uses: docker/metadata-action@v5 # This action generates Docker image metadata like tags and labels with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # Define the full image name (registry/repository) tags: | - # Define tags for the Docker image using version information - type=raw,value=latest - type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.SEMVER }} - type=semver,pattern={{major}}.{{minor}},value=${{ env.SEMVER }} - type=semver,pattern={{major}},value=${{ env.SEMVER }} - - # Step 7: Build and push Docker image using Docker Buildx + # Create various tags for the Docker image based on version information + type=raw,value=latest # Tag the image as "latest" + type=semver,pattern={{major}}.{{minor}}.{{patch}},value=${{ env.SEMVER }} # Full version tag (e.g., 1.2.3) + type=semver,pattern={{major}}.{{minor}},value=${{ env.SEMVER }} # Major.minor tag (e.g., 1.2) + type=semver,pattern={{major}},value=${{ env.SEMVER }} # Major tag (e.g., 1) + + # Step 6: Build and push the Docker image - name: Build and push Docker image - id: build-and-push # Assigns an ID to this step for referencing its outputs later - uses: docker/build-push-action@v5 + id: build-and-push # Assign an ID to reference this step's outputs (digest) if needed later + uses: docker/build-push-action@v5 # This action builds and pushes the Docker image with: - context: . # The context is the root of the repository - push: ${{ github.event_name != 'pull_request' }} # Only push if not a PR - # Define tags for the Docker image using version information - tags: ${{ steps.meta.outputs.tags }} # Use the tags generated in the previous step - labels: ${{ steps.meta.outputs.labels }} # Use the labels generated in the previous step - cache-from: type=gha # Use GitHub Actions cache to speed up builds - cache-to: type=gha,mode=max # Store the cache in GitHub Actions for reuse - # This step builds the Docker image and pushes it to the registry (if not a PR) - - # Step 3: Install the cosign tool for signing Docker images - #- name: Install cosign - # if: github.event_name != 'pull_request' # Only install cosign if not a PR - # uses: sigstore/cosign-installer@v3 - # This installs the cosign tool for use in the signing step later - - # Step 8: Sign the resulting Docker image digest (only if not a PR) - #- name: Sign the published Docker image - # if: ${{ github.event_name != 'pull_request' }} # Only sign if not a PR - # env: - # TAGS: ${{ steps.meta.outputs.tags }} # Use the tags generated earlier - # DIGEST: ${{ steps.build-and-push.outputs.digest }} # Use the digest of the built image - # run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} - # This step signs the Docker image using cosign to ensure its integrity and authenticity + context: . # Use the root of the repository as the build context (includes Dockerfile and source code) + push: ${{ github.event_name != 'pull_request' }} # Push the image only if the event is not a pull request + tags: ${{ steps.meta.outputs.tags }} # Apply the tags generated in the metadata step + labels: ${{ steps.meta.outputs.labels }} # Apply the labels generated in the metadata step + cache-from: type=gha # Use GitHub Actions cache to speed up the build process + cache-to: type=gha,mode=max # Store the build cache in GitHub Actions for future use From 02baabd4f4d535ab9c14c268df7ce8a0623582a8 Mon Sep 17 00:00:00 2001 From: Daschi1 <50054971+Daschi1@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:34:40 +0200 Subject: [PATCH 16/17] update README.md --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 5346e6d..148d675 100644 --- a/README.md +++ b/README.md @@ -27,3 +27,15 @@ generate `licenses.json`. ```shell license-checker --customPath lc-checker-format.json --json --out static/licenses.json ``` + +### Currently deployed version + +```shell +docker run -d \ + --name green-hell-maps \ + --restart unless-stopped \ + -e ORIGIN=https://green-hell-maps.daschi.dev \ + ghcr.io/daschi1/green-hell-maps:1.0.0 + +docker network connect nginx green-hell-maps +``` From 2ff08d5121af11d0a39154d57986dd0309a1e0c4 Mon Sep 17 00:00:00 2001 From: Daschi Date: Mon, 12 Aug 2024 18:26:40 +0200 Subject: [PATCH 17/17] update dependencies --- package.json | 3 +- pnpm-lock.yaml | 111 +++++++++++++++++++++++-------------------- static/licenses.json | 12 ++++- 3 files changed, 72 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index fef10f4..1ff51b8 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@sveltejs/vite-plugin-svelte": "^3.1.1", "@types/eslint": "^9.6.0", "autoprefixer": "^10.4.20", + "dotenv": "^16.4.5", "eslint": "^9.9.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.43.0", @@ -34,7 +35,7 @@ "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", "prettier-plugin-tailwindcss": "^0.6.6", - "svelte": "^5.0.0-next.216", + "svelte": "^5.0.0-next.217", "svelte-check": "^3.8.5", "sveltekit-search-params": "^3.0.0", "tailwindcss": "^3.4.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a472dd6..bfbe892 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,19 +10,22 @@ importers: devDependencies: '@sveltejs/adapter-node': specifier: ^5.2.1 - version: 5.2.1(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0)) + version: 5.2.1(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0)) '@sveltejs/kit': specifier: ^2.5.21 - version: 2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0) + version: 2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0) '@sveltejs/vite-plugin-svelte': specifier: ^3.1.1 - version: 3.1.1(svelte@5.0.0-next.216)(vite@5.4.0) + version: 3.1.1(svelte@5.0.0-next.217)(vite@5.4.0) '@types/eslint': specifier: ^9.6.0 version: 9.6.0 autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.41) + dotenv: + specifier: ^16.4.5 + version: 16.4.5 eslint: specifier: ^9.9.0 version: 9.9.0(jiti@1.21.6) @@ -31,16 +34,16 @@ importers: version: 9.1.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-svelte: specifier: ^2.43.0 - version: 2.43.0(eslint@9.9.0(jiti@1.21.6))(svelte@5.0.0-next.216) + version: 2.43.0(eslint@9.9.0(jiti@1.21.6))(svelte@5.0.0-next.217) flowbite: specifier: ^2.5.1 version: 2.5.1(rollup@4.19.1) flowbite-svelte: specifier: ^0.46.15 - version: 0.46.15(rollup@4.19.1)(svelte@5.0.0-next.216) + version: 0.46.15(rollup@4.19.1)(svelte@5.0.0-next.217) flowbite-svelte-icons: specifier: 2.0.0-next.15 - version: 2.0.0-next.15(svelte@5.0.0-next.216)(tailwind-merge@2.4.0)(tailwindcss@3.4.9) + version: 2.0.0-next.15(svelte@5.0.0-next.217)(tailwind-merge@2.4.0)(tailwindcss@3.4.9) globals: specifier: ^15.9.0 version: 15.9.0 @@ -58,19 +61,19 @@ importers: version: 3.3.3 prettier-plugin-svelte: specifier: ^3.2.6 - version: 3.2.6(prettier@3.3.3)(svelte@5.0.0-next.216) + version: 3.2.6(prettier@3.3.3)(svelte@5.0.0-next.217) prettier-plugin-tailwindcss: specifier: ^0.6.6 - version: 0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@5.0.0-next.216))(prettier@3.3.3) + version: 0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@5.0.0-next.217))(prettier@3.3.3) svelte: - specifier: ^5.0.0-next.216 - version: 5.0.0-next.216 + specifier: ^5.0.0-next.217 + version: 5.0.0-next.217 svelte-check: specifier: ^3.8.5 - version: 3.8.5(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.216) + version: 3.8.5(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.217) sveltekit-search-params: specifier: ^3.0.0 - version: 3.0.0(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0) + version: 3.0.0(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0) tailwindcss: specifier: ^3.4.9 version: 3.4.9 @@ -765,6 +768,10 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -1658,8 +1665,8 @@ packages: typescript: optional: true - svelte@5.0.0-next.216: - resolution: {integrity: sha512-LS7XBjsG5jfq84unAlMrJmCOvJb0vLUcYyDHP/3viycm0JFyAWamfp0wzounCFOvaaJKS5a0ShCNZRPMxaWsKg==} + svelte@5.0.0-next.217: + resolution: {integrity: sha512-uJwCkBCuqe3NDngZEjTzKFKjOZYtHL0pCXRu3G9XaGL5ALzds96f3ndGbVRDaKwUA7l+5risgI0sy49I0C3JAw==} engines: {node: '>=18'} sveltekit-search-params@3.0.0: @@ -2107,17 +2114,17 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.19.1': optional: true - '@sveltejs/adapter-node@5.2.1(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0))': + '@sveltejs/adapter-node@5.2.1(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0))': dependencies: '@rollup/plugin-commonjs': 26.0.1(rollup@4.19.1) '@rollup/plugin-json': 6.1.0(rollup@4.19.1) '@rollup/plugin-node-resolve': 15.2.3(rollup@4.19.1) - '@sveltejs/kit': 2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0) + '@sveltejs/kit': 2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0) rollup: 4.19.1 - '@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0)': + '@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0)': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.216)(vite@5.4.0) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.217)(vite@5.4.0) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -2129,28 +2136,28 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.4 - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 tiny-glob: 0.2.9 vite: 5.4.0 - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0)': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0)': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.216)(vite@5.4.0) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.217)(vite@5.4.0) debug: 4.3.6 - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 vite: 5.4.0 transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0)': + '@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0)': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0) debug: 4.3.6 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.11 - svelte: 5.0.0-next.216 - svelte-hmr: 0.16.0(svelte@5.0.0-next.216) + svelte: 5.0.0-next.217 + svelte-hmr: 0.16.0(svelte@5.0.0-next.217) vite: 5.4.0 vitefu: 0.2.5(vite@5.4.0) transitivePeerDependencies: @@ -2448,6 +2455,8 @@ snapshots: dlv@1.1.3: {} + dotenv@16.4.5: {} + eastasianwidth@0.2.0: {} electron-to-chromium@1.5.4: {} @@ -2499,7 +2508,7 @@ snapshots: dependencies: eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-svelte@2.43.0(eslint@9.9.0(jiti@1.21.6))(svelte@5.0.0-next.216): + eslint-plugin-svelte@2.43.0(eslint@9.9.0(jiti@1.21.6))(svelte@5.0.0-next.217): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -2512,9 +2521,9 @@ snapshots: postcss-safe-parser: 6.0.0(postcss@8.4.41) postcss-selector-parser: 6.1.1 semver: 7.6.3 - svelte-eslint-parser: 0.41.0(svelte@5.0.0-next.216) + svelte-eslint-parser: 0.41.0(svelte@5.0.0-next.217) optionalDependencies: - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 transitivePeerDependencies: - ts-node @@ -2651,18 +2660,18 @@ snapshots: transitivePeerDependencies: - rollup - flowbite-svelte-icons@2.0.0-next.15(svelte@5.0.0-next.216)(tailwind-merge@2.4.0)(tailwindcss@3.4.9): + flowbite-svelte-icons@2.0.0-next.15(svelte@5.0.0-next.217)(tailwind-merge@2.4.0)(tailwindcss@3.4.9): dependencies: - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 tailwind-merge: 2.4.0 tailwindcss: 3.4.9 - flowbite-svelte@0.46.15(rollup@4.19.1)(svelte@5.0.0-next.216): + flowbite-svelte@0.46.15(rollup@4.19.1)(svelte@5.0.0-next.217): dependencies: '@floating-ui/dom': 1.6.8 apexcharts: 3.51.0 flowbite: 2.5.1(rollup@4.19.1) - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 tailwind-merge: 2.4.0 transitivePeerDependencies: - rollup @@ -3050,16 +3059,16 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@5.0.0-next.216): + prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@5.0.0-next.217): dependencies: prettier: 3.3.3 - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 - prettier-plugin-tailwindcss@0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@5.0.0-next.216))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@5.0.0-next.217))(prettier@3.3.3): dependencies: prettier: 3.3.3 optionalDependencies: - prettier-plugin-svelte: 3.2.6(prettier@3.3.3)(svelte@5.0.0-next.216) + prettier-plugin-svelte: 3.2.6(prettier@3.3.3)(svelte@5.0.0-next.217) prettier@3.3.3: {} @@ -3258,14 +3267,14 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@3.8.5(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.216): + svelte-check@3.8.5(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.217): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 picocolors: 1.0.1 sade: 1.8.1 - svelte: 5.0.0-next.216 - svelte-preprocess: 5.1.4(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.216)(typescript@5.5.4) + svelte: 5.0.0-next.217 + svelte-preprocess: 5.1.4(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.217)(typescript@5.5.4) typescript: 5.5.4 transitivePeerDependencies: - '@babel/core' @@ -3278,7 +3287,7 @@ snapshots: - stylus - sugarss - svelte-eslint-parser@0.41.0(svelte@5.0.0-next.216): + svelte-eslint-parser@0.41.0(svelte@5.0.0-next.217): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -3286,26 +3295,26 @@ snapshots: postcss: 8.4.41 postcss-scss: 4.0.9(postcss@8.4.41) optionalDependencies: - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 - svelte-hmr@0.16.0(svelte@5.0.0-next.216): + svelte-hmr@0.16.0(svelte@5.0.0-next.217): dependencies: - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 - svelte-preprocess@5.1.4(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.216)(typescript@5.5.4): + svelte-preprocess@5.1.4(postcss-load-config@4.0.2(postcss@8.4.41))(postcss@8.4.41)(svelte@5.0.0-next.217)(typescript@5.5.4): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 magic-string: 0.30.11 sorcery: 0.11.1 strip-indent: 3.0.0 - svelte: 5.0.0-next.216 + svelte: 5.0.0-next.217 optionalDependencies: postcss: 8.4.41 postcss-load-config: 4.0.2(postcss@8.4.41) typescript: 5.5.4 - svelte@5.0.0-next.216: + svelte@5.0.0-next.217: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -3321,11 +3330,11 @@ snapshots: magic-string: 0.30.11 zimmerframe: 1.1.2 - sveltekit-search-params@3.0.0(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0): + sveltekit-search-params@3.0.0(@sveltejs/kit@2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0): dependencies: - '@sveltejs/kit': 2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.216)(vite@5.4.0))(svelte@5.0.0-next.216)(vite@5.4.0) - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.216)(vite@5.4.0) - svelte: 5.0.0-next.216 + '@sveltejs/kit': 2.5.21(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.217)(vite@5.4.0))(svelte@5.0.0-next.217)(vite@5.4.0) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.217)(vite@5.4.0) + svelte: 5.0.0-next.217 transitivePeerDependencies: - supports-color - vite diff --git a/static/licenses.json b/static/licenses.json index 4290925..4fdadb0 100644 --- a/static/licenses.json +++ b/static/licenses.json @@ -154,6 +154,14 @@ "description": "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website", "copyright": "Copyright 2013 Andrey Sitnik " }, + "dotenv@16.4.5": { + "licenses": "BSD-2-Clause", + "repository": "https://github.com/motdotla/dotenv", + "name": "dotenv", + "version": "16.4.5", + "description": "Loads environment variables from .env file", + "copyright": "Copyright (c) 2015, Scott Motte. All rights reserved." + }, "eslint-compat-utils@0.5.1": { "licenses": "MIT", "repository": "https://github.com/ota-meshi/eslint-compat-utils", @@ -336,11 +344,11 @@ "description": "Svelte parser for ESLint", "copyright": "Copyright (c) 2021 Yosuke Ota" }, - "svelte@5.0.0-next.216": { + "svelte@5.0.0-next.217": { "licenses": "MIT", "repository": "https://github.com/sveltejs/svelte", "name": "svelte", - "version": "5.0.0-next.216", + "version": "5.0.0-next.217", "description": "Cybernetically enhanced web apps", "copyright": "Copyright (c) 2016-24 [these people](https://github.com/sveltejs/svelte/graphs/contributors)" },