mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2026-03-21 23:15:56 +03:00
commit
efe45a25a7
6 changed files with 216 additions and 1 deletions
66
.github/workflows/azure-functions-app-nodejs.yml
vendored
Normal file
66
.github/workflows/azure-functions-app-nodejs.yml
vendored
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# This workflow will build a Node.js 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.
|
||||
# For instructions see:
|
||||
# - https://learn.microsoft.com/en-us/azure/azure-functions/create-first-function-vs-code-node
|
||||
# - https://learn.microsoft.com/en-us/azure/azure-functions/create-first-function-vs-code-typescript
|
||||
#
|
||||
# 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 Node.js project to Azure Function App
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
|
||||
env:
|
||||
AZURE_FUNCTIONAPP_NAME: 'your-app-name' # set this to your function app name on Azure
|
||||
AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your function app project, defaults to the repository root
|
||||
NODE_VERSION: '20.x' # set this to the node version to use (e.g. '8.x', '10.x', '12.x')
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: windows-latest # For Linux, use ubuntu-latest
|
||||
environment: dev
|
||||
steps:
|
||||
- name: 'Checkout GitHub Action'
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# 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 Node ${{ env.NODE_VERSION }} Environment
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
|
||||
- name: 'Resolve Project Dependencies Using Npm'
|
||||
shell: pwsh # For Linux, use bash
|
||||
run: |
|
||||
pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}'
|
||||
npm install
|
||||
npm run build --if-present
|
||||
npm run test --if-present
|
||||
popd
|
||||
|
||||
- name: 'Run Azure Functions Action'
|
||||
uses: Azure/functions-action@v1
|
||||
id: fa
|
||||
with:
|
||||
app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
|
||||
package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
|
||||
publish-profile: ${{ secrets.AZURE_FUNCTIONAPP_PUBLISH_PROFILE }} # Remove publish-profile to use Azure RBAC
|
||||
24
.github/workflows/basic-validation.yml
vendored
24
.github/workflows/basic-validation.yml
vendored
|
|
@ -15,5 +15,27 @@ jobs:
|
|||
call-basic-validation:
|
||||
name: Basic validation
|
||||
uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main
|
||||
with:
|
||||
Run:
|
||||
node-version: '24.x'
|
||||
name: Upload a Build Artifact
|
||||
uses: actions/upload-artifact@v3.2.2
|
||||
with:
|
||||
# Artifact name
|
||||
name: # optional, default is artifact
|
||||
# A file, directory or wildcard pattern that describes what to upload
|
||||
path:
|
||||
# The desired behavior if no files are found using the provided path.
|
||||
Available Options:
|
||||
warn: Output a warning but do not fail the action
|
||||
error: Fail the action with an error message
|
||||
ignore: Do not output any warnings or errors, the action does not fail
|
||||
|
||||
if-no-files-found: # optional, default is warn
|
||||
# Duration after which artifact will expire in days. 0 means using default retention.
|
||||
Minimum 1 day. Maximum 90 days unless changed from the repository settings page.
|
||||
|
||||
retention-days: # optional
|
||||
# If true, hidden files will be included in the uploaded artifact. If false, hidden files will be excluded from the uploaded artifact.
|
||||
|
||||
include-hidden-files: # optional, default is false
|
||||
|
||||
|
|
|
|||
66
.github/workflows/generator-generic-ossf-slsa3-publish.yml
vendored
Normal file
66
.github/workflows/generator-generic-ossf-slsa3-publish.yml
vendored
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# 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.
|
||||
|
||||
# This workflow lets you generate SLSA provenance file for your project.
|
||||
# The generation satisfies level 3 for the provenance requirements - see https://slsa.dev/spec/v0.1/requirements
|
||||
# The project is an initiative of the OpenSSF (openssf.org) and is developed at
|
||||
# https://github.com/slsa-framework/slsa-github-generator.
|
||||
# The provenance file can be verified using https://github.com/slsa-framework/slsa-verifier.
|
||||
# For more information about SLSA and how it improves the supply-chain, visit slsa.dev.
|
||||
|
||||
name: SLSA generic generator
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
digests: ${{ steps.hash.outputs.digests }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# ========================================================
|
||||
#
|
||||
# Step 1: Build your artifacts.
|
||||
#
|
||||
# ========================================================
|
||||
- name: Build artifacts
|
||||
run: |
|
||||
# These are some amazing artifacts.
|
||||
echo "artifact1" > artifact1
|
||||
echo "artifact2" > artifact2
|
||||
|
||||
# ========================================================
|
||||
#
|
||||
# Step 2: Add a step to generate the provenance subjects
|
||||
# as shown below. Update the sha256 sum arguments
|
||||
# to include all binaries that you generate
|
||||
# provenance for.
|
||||
#
|
||||
# ========================================================
|
||||
- name: Generate subject for provenance
|
||||
id: hash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# List the artifacts the provenance will refer to.
|
||||
files=$(ls artifact*)
|
||||
# Generate the subjects (base64 encoded).
|
||||
echo "hashes=$(sha256sum $files | base64 -w0)" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
provenance:
|
||||
needs: [build]
|
||||
permissions:
|
||||
actions: read # To read the workflow path.
|
||||
id-token: write # To sign the provenance.
|
||||
contents: write # To add assets to a release.
|
||||
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.4.0
|
||||
with:
|
||||
base64-subjects: "${{ needs.build.outputs.digests }}"
|
||||
upload-assets: true # Optional: Upload to a new release
|
||||
33
.github/workflows/npm-publish.yml
vendored
Normal file
33
.github/workflows/npm-publish.yml
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
||||
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
||||
|
||||
name: Node.js Package
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
|
||||
publish-npm:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
registry-url: https://registry.npmjs.org/
|
||||
- run: npm ci
|
||||
- run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
||||
28
.github/workflows/webpack.yml
vendored
Normal file
28
.github/workflows/webpack.yml
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
name: NodeJS with Webpack
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x, 20.x, 22.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
npm install
|
||||
npx webpack
|
||||
Loading…
Add table
Add a link
Reference in a new issue