Files
dependabot[bot] 7db403d350 build(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#4577)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-22 15:20:33 +02:00

79 lines
2.6 KiB
YAML

name: Deploy to Cloudflare Pages (Direct Upload)
on:
release:
types: [published]
workflow_dispatch:
inputs:
version:
description: "CrowdSec version/tag to deploy (e.g. v1.6.0). Leave empty to deploy latest release."
required: false
type: string
date:
description: "Deployment date (YYYY-MM-DDTHH:MM:SSZ). Cannot be empty if version is not empty."
required: false
type: string
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
if: |
github.event_name == 'workflow_dispatch' ||
(github.event_name == 'release' && github.event.release.prerelease == false)
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 20
- name: Pick CrowdSec version
id: pick_version
env:
INPUT_VERSION: ${{ inputs.version }}
INPUT_DATE: ${{ inputs.date }}
GH_TOKEN: ${{ github.token }}
run: |
set -euo pipefail
if [ -n "${INPUT_VERSION:-}" ] && [ -z "${INPUT_DATE:-}" ]; then
echo "Error: If version is provided, date must also be provided." >&2
exit 1
fi
if [ -n "${INPUT_VERSION:-}" ]; then
TAG="${INPUT_VERSION}"
DATE="${INPUT_DATE}"
else
# latest non-prerelease tag
JSON_CONTENT="$(gh release list --json tagName,publishedAt --exclude-pre-releases --limit 1)"
TAG="$(echo "$JSON_CONTENT" | jq -r '.[0].tagName')"
DATE="$(echo "$JSON_CONTENT" | jq -r '.[0].publishedAt')"
fi
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
echo "date=$DATE" >> "$GITHUB_OUTPUT"
- name: Write dist artifact
env:
TAG: ${{ steps.pick_version.outputs.tag }}
DATE: ${{ steps.pick_version.outputs.date }}
run: |
set -euo pipefail
mkdir -p ./dist
printf '{"name":"%s", "tag_name":"%s", "published_at":"%s"}\n' "$TAG" "$TAG" "$DATE" > ./dist/latest
cat ./dist/latest
# Deploy the build output directory (adjust ./dist to your framework output)
- name: Publish to Cloudflare Pages
uses: cloudflare/wrangler-action@ebbaa1584979971c8614a24965b4405ff95890e0 # v4.0.0
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy ./dist --project-name version --branch main