diff --git a/ci/elixir.yml b/ci/elixir.yml
index 6c76f54..371ff24 100644
--- a/ci/elixir.yml
+++ b/ci/elixir.yml
@@ -1,3 +1,8 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
name: Elixir CI
on:
diff --git a/ci/msbuild.yml b/ci/msbuild.yml
index c50354e..a52ec35 100644
--- a/ci/msbuild.yml
+++ b/ci/msbuild.yml
@@ -1,3 +1,8 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
name: MSBuild
on:
diff --git a/ci/symfony.yml b/ci/symfony.yml
index d1ac71a..4b957e1 100644
--- a/ci/symfony.yml
+++ b/ci/symfony.yml
@@ -1,3 +1,8 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
name: Symfony
on:
diff --git a/code-scanning/apisec-scan.yml b/code-scanning/apisec-scan.yml
index ec8b8bb..34defa9 100644
--- a/code-scanning/apisec-scan.yml
+++ b/code-scanning/apisec-scan.yml
@@ -10,7 +10,7 @@
# How to Get Started with APIsec.ai
# 1. Schedule a demo at https://www.apisec.ai/request-a-demo .
#
-# 2. Register your account at https://cloud.fxlabs.io/#/signup .
+# 2. Register your account at https://cloud.apisec.ai/#/signup .
#
# 3. Register your API . See the video (https://www.youtube.com/watch?v=MK3Xo9Dbvac) to get up and running with APIsec quickly.
#
@@ -55,7 +55,7 @@ jobs:
steps:
- name: APIsec scan
- uses: apisec-inc/apisec-run-scan@f748a240d69ca6cd7e9532fd0a47bec4ccd6a73c
+ uses: apisec-inc/apisec-run-scan@025432089674a28ba8fb55f8ab06c10215e772ea
with:
# The APIsec username with which the scans will be executed
apisec-username: ${{ secrets.apisec_username }}
diff --git a/code-scanning/detekt.yml b/code-scanning/detekt.yml
index a13a517..15aeb45 100644
--- a/code-scanning/detekt.yml
+++ b/code-scanning/detekt.yml
@@ -77,7 +77,7 @@ jobs:
fi
DETEKT_DOWNLOAD_URL=$(jq --raw-output '.data.repository.release.releaseAssets.nodes[0].downloadUrl' gh_response.json)
- echo "::set-output name=download_url::$DETEKT_DOWNLOAD_URL"
+ echo "download_url=$DETEKT_DOWNLOAD_URL" >> $GITHUB_OUTPUT
# Sets up the detekt cli
- name: Setup Detekt
diff --git a/code-scanning/frogbot-scan-and-fix.yml b/code-scanning/frogbot-scan-and-fix.yml
index 96dcfb5..feacb7f 100644
--- a/code-scanning/frogbot-scan-and-fix.yml
+++ b/code-scanning/frogbot-scan-and-fix.yml
@@ -7,8 +7,7 @@
# Uses JFrog Xray to scan the project.
# Read more about Frogbot here - https://github.com/jfrog/frogbot#frogbot
-# Frogbot uses a frogbot-config.yml file to run. The following article will guide you through the process of creating this file:
-# https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
+# Some projects require creating a frogbot-config.yml file. Read more about it here - https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
name: "Frogbot Scan and Fix"
on:
@@ -26,10 +25,17 @@ jobs:
# IMPORTANT:
# 1. See the following link for information about the tools that need to be installed for Frogbot to work - https://github.com/jfrog/frogbot/tree/master/docs/templates/github-actions/scan-and-fix
- # 2. Frogbot requires a frogbot-config.yml to run. Read more about in the following link - https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
+ # 2. Some projects require creating a frogbot-config.yml file. Read more about it here - https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
- - uses: jfrog/frogbot@8daba7e9515dbc898012367c71c1018449cd7716
+ - uses: jfrog/frogbot@3395426f351556d4568e30a6dfd2909dbedae99e
env:
+ # [Mandatory if the two conditions below are met]
+ # 1. The project uses npm, yarn 2, NuGet or .NET to download its dependencies
+ # 2. The `installCommand` variable isn't set in your frogbot-config.yml file.
+ #
+ # The command that installs the project dependencies (e.g "npm i", "nuget restore" or "dotnet restore")
+ # JF_INSTALL_DEPS_CMD: ""
+
# [Mandatory]
# JFrog platform URL
JF_URL: ${{ secrets.JF_URL }}
@@ -38,14 +44,26 @@ jobs:
# JFrog access token with 'read' permissions on Xray service
JF_ACCESS_TOKEN: ${{ secrets.JF_ACCESS_TOKEN }}
- # [Mandatory]
- # The GitHub token automatically generated for the job
- JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
# [Mandatory if JF_ACCESS_TOKEN is not provided]
# JFrog username with 'read' permissions for Xray. Must be provided with JF_PASSWORD
# JF_USER: ${{ secrets.JF_USER }}
# [Mandatory if JF_ACCESS_TOKEN is not provided]
# JFrog password. Must be provided with JF_USER
- # JF_PASSWORD: ${{ secrets.JF_PASSWORD }}
\ No newline at end of file
+ # JF_PASSWORD: ${{ secrets.JF_PASSWORD }}
+
+ # [Mandatory]
+ # The GitHub token automatically generated for the job
+ JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ # [Optional]
+ # If the machine that runs Frogbot has no access to the internat, set the name of a remote repository
+ # in Artifactory, which proxies https://releases.jfrog.io/artifactory
+ # The 'frogbot' executable and other tools it needs will be downloaded through this repository.
+ # JF_RELEASES_REPO: ""
+
+ # [Optional]
+ # Frogbot will download the project dependencies, if they're not cached locally. To download the
+ # dependencies from a virtual repository in Artifactory, set the name of of the repository. There's no
+ # need to set this value, if it is set in the frogbot-config.yml file.
+ # JF_DEPS_REPO: ""
\ No newline at end of file
diff --git a/code-scanning/frogbot-scan-pr.yml b/code-scanning/frogbot-scan-pr.yml
index fe7d125..9e8b6c5 100644
--- a/code-scanning/frogbot-scan-pr.yml
+++ b/code-scanning/frogbot-scan-pr.yml
@@ -7,8 +7,7 @@
# Uses JFrog Xray to scan the project.
# Read more about Frogbot here - https://github.com/jfrog/frogbot#frogbot
-# Frogbot uses a frogbot-config.yml file to run. The following article will guide you through the process of creating this file:
-# https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
+# Some projects require creating a frogbot-config.yml file. Read more about it here - https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
name: "Frogbot Scan Pull Request"
on:
@@ -31,10 +30,17 @@ jobs:
# IMPORTANT:
# 1. See the following link for information about the tools that need to be installed for Frogbot to work - https://github.com/jfrog/frogbot/tree/master/docs/templates/github-actions/scan-and-fix
- # 2. Frogbot requires a frogbot-config.yml to run. Read more about in the following link - https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
+ # 2. Some projects require creating a frogbot-config.yml file. Read more about it here - https://github.com/jfrog/frogbot/blob/master/docs/frogbot-config.md
- - uses: jfrog/frogbot@8daba7e9515dbc898012367c71c1018449cd7716
+ - uses: jfrog/frogbot@3395426f351556d4568e30a6dfd2909dbedae99e
env:
+ # [Mandatory if the two conditions below are met]
+ # 1. The project uses npm, yarn 2, NuGet or .NET to download its dependencies
+ # 2. The `installCommand` variable isn't set in your frogbot-config.yml file.
+ #
+ # The command that installs the project dependencies (e.g "npm i", "nuget restore" or "dotnet restore")
+ # JF_INSTALL_DEPS_CMD: ""
+
# [Mandatory]
# JFrog platform URL
JF_URL: ${{ secrets.JF_URL }}
@@ -43,14 +49,26 @@ jobs:
# JFrog access token with 'read' permissions on Xray service
JF_ACCESS_TOKEN: ${{ secrets.JF_ACCESS_TOKEN }}
- # [Mandatory]
- # The GitHub token automatically generated for the job
- JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
# [Mandatory if JF_ACCESS_TOKEN is not provided]
# JFrog username with 'read' permissions for Xray. Must be provided with JF_PASSWORD
# JF_USER: ${{ secrets.JF_USER }}
# [Mandatory if JF_ACCESS_TOKEN is not provided]
# JFrog password. Must be provided with JF_USER
- # JF_PASSWORD: ${{ secrets.JF_PASSWORD }}
\ No newline at end of file
+ # JF_PASSWORD: ${{ secrets.JF_PASSWORD }}
+
+ # [Mandatory]
+ # The GitHub token automatically generated for the job
+ JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ # [Optional]
+ # If the machine that runs Frogbot has no access to the internat, set the name of a remote repository
+ # in Artifactory, which proxies https://releases.jfrog.io/artifactory
+ # The 'frogbot' executable and other tools it needs will be downloaded through this repository.
+ # JF_RELEASES_REPO: ""
+
+ # [Optional]
+ # Frogbot will download the project dependencies, if they're not cached locally. To download the
+ # dependencies from a virtual repository in Artifactory, set the name of of the repository. There's no
+ # need to set this value, if it is set in the frogbot-config.yml file.
+ # JF_DEPS_REPO: ""
\ No newline at end of file
diff --git a/code-scanning/properties/snyk-security.properties.json b/code-scanning/properties/snyk-security.properties.json
new file mode 100644
index 0000000..3c10ca1
--- /dev/null
+++ b/code-scanning/properties/snyk-security.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "Snyk Security",
+ "creator": "Snyk",
+ "description": "Detect vulnerabilities across your applications and infrastructure with the Snyk platform.",
+ "iconName": "snyk",
+ "categories": ["Code Scanning","JavaScript", "Python", "Java", "PHP", "C#", "C", "C++", "Ruby", "Swift", "Go", "TypeScript", "Kotlin", "Apex", "Scala", "Terraform", "Dockerfile"]
+}
diff --git a/code-scanning/snyk-security.yml b/code-scanning/snyk-security.yml
new file mode 100644
index 0000000..715fa1b
--- /dev/null
+++ b/code-scanning/snyk-security.yml
@@ -0,0 +1,79 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+# A sample workflow which sets up Snyk to analyze the full Snyk platform (Snyk Open Source, Snyk Code,
+# Snyk Container and Snyk Infrastructure as Code)
+# The setup installs the Snyk CLI - for more details on the possible commands
+# check https://docs.snyk.io/snyk-cli/cli-reference
+# The results of Snyk Code are then uploaded to GitHub Security Code Scanning
+#
+# In order to use the Snyk Action you will need to have a Snyk API token.
+# More details in https://github.com/snyk/actions#getting-your-snyk-token
+# or you can signup for free at https://snyk.io/login
+#
+# For more examples, including how to limit scans to only high-severity issues
+# and fail PR checks, see https://github.com/snyk/actions/
+
+name: Snyk Security
+
+on:
+ push:
+ branches: [$default-branch, $protected-branches]
+ pull_request:
+ branches: [$default-branch]
+
+permissions:
+ contents: read
+
+jobs:
+ snyk:
+ permissions:
+ contents: read # for actions/checkout to fetch code
+ security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
+ actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set up Snyk CLI to check for security issues
+ # Snyk can be used to break the build when it detects security issues.
+ # In this case we want to upload the SAST issues to GitHub Code Scanning
+ uses: snyk/actions/setup@806182742461562b67788a64410098c9d9b96adb
+
+ # For Snyk Open Source you must first set up the development environment for your application's dependencies
+ # For example for Node
+ #- uses: actions/setup-node@v3
+ # with:
+ # node-version: 16
+
+ env:
+ # This is where you will need to introduce the Snyk API token created with your Snyk account
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
+
+ # Runs Snyk Code (SAST) analysis and uploads result into GitHub.
+ # Use || true to not fail the pipeline
+ - name: Snyk Code test
+ run: snyk code test --sarif > snyk-code.sarif # || true
+
+ # Runs Snyk Open Source (SCA) analysis and uploads result to Snyk.
+ - name: Snyk Open Source monitor
+ run: snyk monitor --all-projects
+
+ # Runs Snyk Infrastructure as Code (IaC) analysis and uploads result to Snyk.
+ # Use || true to not fail the pipeline.
+ - name: Snyk IaC test and report
+ run: snyk iac test --report # || true
+
+ # Build the docker image for testing
+ - name: Build a Docker image
+ run: docker build -t your/image-to-test .
+ # Runs Snyk Container (Container and SCA) analysis and uploads result to Snyk.
+ - name: Snyk Container monitor
+ run: snyk container monitor your/image-to-test --file=Dockerfile
+
+ # Push the Snyk Code results into GitHub Code Scanning tab
+ - name: Upload result to GitHub Code Scanning
+ uses: github/codeql-action/upload-sarif@v2
+ with:
+ sarif_file: snyk-code.sarif
diff --git a/deployments/azure-functions-app-java-gradle.yml b/deployments/azure-functions-app-java-gradle.yml
new file mode 100644
index 0000000..69f6343
--- /dev/null
+++ b/deployments/azure-functions-app-java-gradle.yml
@@ -0,0 +1,70 @@
+# This workflow will build a Java project and deploy it to an Azure Functions App on Windows or Linux when a commit is pushed to your default branch.
+#
+# This workflow assumes you have already created the target Azure Functions app and applied azure functions plugin for gradle.
+# For instructions see https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-java-gradle
+#
+# To configure this workflow:
+# 1. Set up the following secrets in your repository:
+# - AZURE_FUNCTIONAPP_PUBLISH_PROFILE
+# 2. Change env variables for your configuration.
+#
+# For more information on:
+# - GitHub Actions for Azure: https://github.com/Azure/Actions
+# - Azure Functions Action: https://github.com/Azure/functions-action
+# - Publish Profile: https://github.com/Azure/functions-action#using-publish-profile-as-deployment-credential-recommended
+# - Azure Service Principal for RBAC: https://github.com/Azure/functions-action#using-azure-service-principal-for-rbac-as-deployment-credential
+#
+# For more samples to get started with GitHub Action workflows to deploy to Azure: https://github.com/Azure/actions-workflow-samples/tree/master/FunctionApp
+
+name: Deploy Gradle Java project to Azure Function App
+
+on:
+ push:
+ branches:
+ - [$default-branch]
+
+permissions:
+ contents: read
+
+env:
+ AZURE_FUNCTIONAPP_NAME: 'your-app-name' # set this to your function app name on Azure
+ BUILD_GRADLE_DIRECTORY: '.' # set this to the directory which contains build.gradle file
+ JAVA_VERSION: '8' # set this to the java version to use (e.g. '8', '11', '17')
+
+jobs:
+ build-and-deploy:
+ permissions:
+ contents: none
+ runs-on: windows-latest # For Linux, use ubuntu-latest
+ environment: dev
+ steps:
+ - name: 'Checkout GitHub Action'
+ uses: actions/checkout@v3
+
+ # If you want to use Azure RBAC instead of Publish Profile, then uncomment the task below
+ # - name: 'Login via Azure CLI'
+ # uses: azure/login@v1
+ # with:
+ # creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
+
+ - name: Setup Java Sdk ${{ env.JAVA_VERSION }}
+ uses: actions/setup-java@v1
+ with:
+ java-version: ${{ env.JAVA_VERSION }}
+
+ # Build function project with functions gradle plugin
+ # For project with function plugin lower than 1.12.1, please make sure you have set same app name in gradle configuration
+ - name: 'Restore Project Dependencies Using Gradle Plugin for Azure Functions'
+ shell: pwsh # For Linux, use bash
+ run: |
+ pushd './${{ env.BUILD_GRADLE_DIRECTORY }}'
+ gradle azureFunctionsPackage -DappName=${{ env.AZURE_FUNCTIONAPP_NAME }}
+ popd
+
+ - name: 'Run Azure Functions Action'
+ uses: Azure/functions-action@v1
+ id: fa
+ with:
+ app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
+ package: '${{ env.BUILD_GRADLE_DIRECTORY }}/build/azure-functions/${{ env.AZURE_FUNCTIONAPP_NAME }}'
+ publish-profile: ${{ secrets.AZURE_FUNCTIONAPP_PUBLISH_PROFILE }} # Remove publish-profile to use Azure RBAC
diff --git a/deployments/azure-webapps-java-jar-gradle.yml b/deployments/azure-webapps-java-jar-gradle.yml
new file mode 100644
index 0000000..b1c1df9
--- /dev/null
+++ b/deployments/azure-webapps-java-jar-gradle.yml
@@ -0,0 +1,79 @@
+# This workflow will build and push a Java application to an Azure Web App when a commit is pushed to your default branch.
+#
+# This workflow assumes you have already created the target Azure App Service web app.
+# For instructions see https://docs.microsoft.com/en-us/azure/app-service/quickstart-java?tabs=javase&pivots=platform-linux
+#
+# To configure this workflow:
+#
+# 1. Download the Publish Profile for your Azure Web App. You can download this file from the Overview page of your Web App in the Azure Portal.
+# For more information: https://docs.microsoft.com/en-us/azure/app-service/deploy-github-actions?tabs=applevel#generate-deployment-credentials
+#
+# 2. Create a secret in your repository named AZURE_WEBAPP_PUBLISH_PROFILE, paste the publish profile contents as the value of the secret.
+# For instructions on obtaining the publish profile see: https://docs.microsoft.com/azure/app-service/deploy-github-actions#configure-the-github-secret
+#
+# 3. Change the value for the AZURE_WEBAPP_NAME. Optionally, change the JAVA_VERSION environment variable below.
+#
+# For more information on GitHub Actions for Azure: https://github.com/Azure/Actions
+# For more information on the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
+# For more samples to get started with GitHub Action workflows to deploy to Azure: https://github.com/Azure/actions-workflow-samples
+
+name: Build and deploy Gradle app to Azure Web App
+
+env:
+ AZURE_WEBAPP_NAME: your-app-name # set this to the name of your Azure Web App
+ JAVA_VERSION: '11' # set this to the Java version to use
+ DISTRIBUTION: zulu # set this to the Java distribution
+
+on:
+ push:
+ branches: [ $default-branch ]
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Set up Java version
+ uses: actions/setup-java@v3.0.0
+ with:
+ java-version: ${{ env.JAVA_VERSION }}
+ distribution: ${{ env.DISTRIBUTION }}
+ cache: 'gradle'
+
+ - name: Build with Gradle
+ run: gradle build
+
+ - name: Upload artifact for deployment job
+ uses: actions/upload-artifact@v3
+ with:
+ name: java-app
+ path: '${{ github.workspace }}/build/libs/*.jar'
+
+ deploy:
+ permissions:
+ contents: none
+ runs-on: ubuntu-latest
+ needs: build
+ environment:
+ name: 'Development'
+ url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
+
+ steps:
+ - name: Download artifact from build job
+ uses: actions/download-artifact@v3
+ with:
+ name: java-app
+
+ - name: Deploy to Azure Web App
+ id: deploy-to-webapp
+ uses: azure/webapps-deploy@v2
+ with:
+ app-name: ${{ env.AZURE_WEBAPP_NAME }}
+ publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
+ package: '*.jar'
diff --git a/deployments/azure-webapps-php.yml b/deployments/azure-webapps-php.yml
index 4d08dbd..b3aee8d 100644
--- a/deployments/azure-webapps-php.yml
+++ b/deployments/azure-webapps-php.yml
@@ -54,7 +54,7 @@ jobs:
id: composer-cache
if: steps.check_files.outputs.files_exists == 'true'
run: |
- echo "::set-output name=dir::$(composer config cache-files-dir)"
+ echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Set up dependency caching for faster installs
uses: actions/cache@v3
diff --git a/deployments/properties/azure-functions-app-java-gradle.properties.json b/deployments/properties/azure-functions-app-java-gradle.properties.json
new file mode 100644
index 0000000..5c3bd16
--- /dev/null
+++ b/deployments/properties/azure-functions-app-java-gradle.properties.json
@@ -0,0 +1,8 @@
+{
+ "name": "Deploy Gradle app to Azure Functions App",
+ "description": "Build a Java project and deploy it to an Azure Functions App on Windows or Linux.",
+ "creator": "Microsoft Azure",
+ "iconName": "azure",
+ "categories": ["Deployment", "Java", "Gradle", "Azure Functions"],
+ "labels": ["preview"]
+}
diff --git a/deployments/properties/azure-webapps-java-jar-gradle.properties.json b/deployments/properties/azure-webapps-java-jar-gradle.properties.json
new file mode 100644
index 0000000..31804d7
--- /dev/null
+++ b/deployments/properties/azure-webapps-java-jar-gradle.properties.json
@@ -0,0 +1,8 @@
+{
+ "name": "Deploy a Gradle .jar app to an Azure Web App",
+ "description": "Build a Gradle project and deploy it to an Azure Web App.",
+ "creator": "Microsoft Azure",
+ "iconName": "azure",
+ "categories": ["Deployment", "Java", "Gradle"],
+ "labels": ["preview"]
+}
diff --git a/icons/jscrambler.svg b/icons/jscrambler.svg
index 17f79b7..7b96427 100644
--- a/icons/jscrambler.svg
+++ b/icons/jscrambler.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/icons/mdbook.svg b/icons/mdbook.svg
new file mode 100644
index 0000000..c61e0a6
--- /dev/null
+++ b/icons/mdbook.svg
@@ -0,0 +1,17 @@
+
+
diff --git a/pages/astro.yml b/pages/astro.yml
index 1b6478f..dbe49db 100644
--- a/pages/astro.yml
+++ b/pages/astro.yml
@@ -18,10 +18,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
env:
BUILD_PATH: "." # default value when not using subfolders
diff --git a/pages/gatsby.yml b/pages/gatsby.yml
index 34f15dd..fbe9e70 100644
--- a/pages/gatsby.yml
+++ b/pages/gatsby.yml
@@ -18,10 +18,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
# Default to bash
defaults:
diff --git a/pages/hugo.yml b/pages/hugo.yml
index d4363fd..3431284 100644
--- a/pages/hugo.yml
+++ b/pages/hugo.yml
@@ -15,10 +15,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
# Default to bash
defaults:
diff --git a/pages/jekyll-gh-pages.yml b/pages/jekyll-gh-pages.yml
index 792aa18..7d18dc8 100644
--- a/pages/jekyll-gh-pages.yml
+++ b/pages/jekyll-gh-pages.yml
@@ -15,10 +15,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
jobs:
# Build job
diff --git a/pages/jekyll.yml b/pages/jekyll.yml
index f4f1825..9e6bf67 100644
--- a/pages/jekyll.yml
+++ b/pages/jekyll.yml
@@ -20,10 +20,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
jobs:
# Build job
@@ -35,7 +36,7 @@ jobs:
- name: Setup Ruby
uses: ruby/setup-ruby@ee2113536afb7f793eed4ce60e8d3b26db912da4 # v1.127.0
with:
- ruby-version: '3.0' # Not needed with a .ruby-version file
+ ruby-version: '3.1' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
- name: Setup Pages
diff --git a/pages/mdbook.yml b/pages/mdbook.yml
new file mode 100644
index 0000000..191aa48
--- /dev/null
+++ b/pages/mdbook.yml
@@ -0,0 +1,60 @@
+# Sample workflow for building and deploying a mdBook site to GitHub Pages
+#
+# To get started with mdBook see: https://rust-lang.github.io/mdBook/index.html
+#
+name: Deploy mdBook site to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ env:
+ MDBOOK_VERSION: 0.4.21
+ steps:
+ - uses: actions/checkout@v3
+ - name: Install mdBook
+ run: |
+ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh
+ rustup update
+ cargo install --version ${MDBOOK_VERSION} mdbook
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v3
+ - name: Build with mdBook
+ run: mdbook build
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: ./book
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/pages/nextjs.yml b/pages/nextjs.yml
index 5bd6c15..bf15a71 100644
--- a/pages/nextjs.yml
+++ b/pages/nextjs.yml
@@ -18,10 +18,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
jobs:
# Build job
diff --git a/pages/nuxtjs.yml b/pages/nuxtjs.yml
index e7d8891..3ded228 100644
--- a/pages/nuxtjs.yml
+++ b/pages/nuxtjs.yml
@@ -18,10 +18,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
jobs:
# Build job
diff --git a/pages/properties/mdbook.properties.json b/pages/properties/mdbook.properties.json
new file mode 100644
index 0000000..2a4fe8d
--- /dev/null
+++ b/pages/properties/mdbook.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "mdBook",
+ "description": "Package a site using mdBook.",
+ "iconName": "mdbook",
+ "categories": ["Pages", "mdBook"]
+}
diff --git a/pages/static.yml b/pages/static.yml
index d6b7192..c0cfa35 100644
--- a/pages/static.yml
+++ b/pages/static.yml
@@ -15,10 +15,11 @@ permissions:
pages: write
id-token: write
-# Allow one concurrent deployment
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
- cancel-in-progress: true
+ cancel-in-progress: false
jobs:
# Single deploy job since we're just deploying