From 58d3884a9d4de0a4d7dac64fddc65ef7b76ba3a4 Mon Sep 17 00:00:00 2001 From: Sam Ken <149315347+SHArPyCoBRA@users.noreply.github.com> Date: Wed, 15 Nov 2023 23:00:26 +0800 Subject: [PATCH 1/2] Create Close Stale Issues --- .../Close Stale Issues | 170 ++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 .github/workflows/generator-generic-ossf-slsa3-publish.yml/Close Stale Issues diff --git a/.github/workflows/generator-generic-ossf-slsa3-publish.yml/Close Stale Issues b/.github/workflows/generator-generic-ossf-slsa3-publish.yml/Close Stale Issues new file mode 100644 index 0000000000..59207a8656 --- /dev/null +++ b/.github/workflows/generator-generic-ossf-slsa3-publish.yml/Close Stale Issues @@ -0,0 +1,170 @@ +# 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@v3 + + # ======================================================== + # + # 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 + - name: Close Stale Issues + uses: actions/stale@v4.1.1 + with: + # Token for the repository. Can be passed in using `{{ secrets.GITHUB_TOKEN }}`. + repo-token: # optional, default is ${{ github.token }} + # The message to post on the issue when tagging it. If none provided, will not mark issues stale. + stale-issue-message: # optional + # The message to post on the pull request when tagging it. If none provided, will not mark pull requests stale. + stale-pr-message: # optional + # The message to post on the issue when closing it. If none provided, will not comment when closing an issue. + close-issue-message: # optional + # The message to post on the pull request when closing it. If none provided, will not comment when closing a pull requests. + close-pr-message: # optional + # The number of days old an issue or a pull request can be before marking it stale. Set to -1 to never mark issues or pull requests as stale automatically. + days-before-stale: # optional, default is 60 + # The number of days old an issue can be before marking it stale. Set to -1 to never mark issues as stale automatically. Override "days-before-stale" option regarding only the issues. + days-before-issue-stale: # optional + # The number of days old a pull request can be before marking it stale. Set to -1 to never mark pull requests as stale automatically. Override "days-before-stale" option regarding only the pull requests. + days-before-pr-stale: # optional + # The number of days to wait to close an issue or a pull request after it being marked stale. Set to -1 to never close stale issues or pull requests. + days-before-close: # optional, default is 7 + # The number of days to wait to close an issue after it being marked stale. Set to -1 to never close stale issues. Override "days-before-close" option regarding only the issues. + days-before-issue-close: # optional + # The number of days to wait to close a pull request after it being marked stale. Set to -1 to never close stale pull requests. Override "days-before-close" option regarding only the pull requests. + days-before-pr-close: # optional + # The label to apply when an issue is stale. + stale-issue-label: # optional, default is Stale + # The label to apply when an issue is closed. + close-issue-label: # optional + # The labels that mean an issue is exempt from being marked stale. Separate multiple labels with commas (eg. "label1,label2"). + exempt-issue-labels: # optional, default is + # The label to apply when a pull request is stale. + stale-pr-label: # optional, default is Stale + # The label to apply when a pull request is closed. + close-pr-label: # optional + # The labels that mean a pull request is exempt from being marked as stale. Separate multiple labels with commas (eg. "label1,label2"). + exempt-pr-labels: # optional, default is + # The milestones that mean an issue or a pull request is exempt from being marked as stale. Separate multiple milestones with commas (eg. "milestone1,milestone2"). + exempt-milestones: # optional, default is + # The milestones that mean an issue is exempt from being marked as stale. Separate multiple milestones with commas (eg. "milestone1,milestone2"). Override "exempt-milestones" option regarding only the issues. + exempt-issue-milestones: # optional, default is + # The milestones that mean a pull request is exempt from being marked as stale. Separate multiple milestones with commas (eg. "milestone1,milestone2"). Override "exempt-milestones" option regarding only the pull requests. + exempt-pr-milestones: # optional, default is + # Exempt all issues and pull requests with milestones from being marked as stale. Default to false. + exempt-all-milestones: # optional, default is false + # Exempt all issues with milestones from being marked as stale. Override "exempt-all-milestones" option regarding only the issues. + exempt-all-issue-milestones: # optional, default is + # Exempt all pull requests with milestones from being marked as stale. Override "exempt-all-milestones" option regarding only the pull requests. + exempt-all-pr-milestones: # optional, default is + # Only issues or pull requests with all of these labels are checked if stale. Defaults to `` (disabled) and can be a comma-separated list of labels. + only-labels: # optional, default is + # Only issues or pull requests with at least one of these labels are checked if stale. Defaults to `` (disabled) and can be a comma-separated list of labels. + any-of-labels: # optional, default is + # Only issues with at least one of these labels are checked if stale. Defaults to `` (disabled) and can be a comma-separated list of labels. Override "any-of-labels" option regarding only the issues. + any-of-issue-labels: # optional, default is + # Only pull requests with at least one of these labels are checked if stale. Defaults to `` (disabled) and can be a comma-separated list of labels. Override "any-of-labels" option regarding only the pull requests. + any-of-pr-labels: # optional, default is + # Only issues with all of these labels are checked if stale. Defaults to `[]` (disabled) and can be a comma-separated list of labels. Override "only-labels" option regarding only the issues. + only-issue-labels: # optional, default is + # Only pull requests with all of these labels are checked if stale. Defaults to `[]` (disabled) and can be a comma-separated list of labels. Override "only-labels" option regarding only the pull requests. + only-pr-labels: # optional, default is + # The maximum number of operations per run, used to control rate limiting (GitHub API CRUD related). + operations-per-run: # optional, default is 30 + # Remove stale labels from issues and pull requests when they are updated or commented on. + remove-stale-when-updated: # optional, default is true + # Remove stale labels from issues when they are updated or commented on. Override "remove-stale-when-updated" option regarding only the issues. + remove-issue-stale-when-updated: # optional, default is + # Remove stale labels from pull requests when they are updated or commented on. Override "remove-stale-when-updated" option regarding only the pull requests. + remove-pr-stale-when-updated: # optional, default is + # Run the processor in debug mode without actually performing any operations on live issues. + debug-only: # optional, default is false + # The order to get issues or pull requests. Defaults to false, which is descending. + ascending: # optional, default is false + # Delete the git branch after closing a stale pull request. + delete-branch: # optional, default is false + # The date used to skip the stale action on issue/pull request created before it (ISO 8601 or RFC 2822). + start-date: # optional, default is + # The assignees which exempt an issue or a pull request from being marked as stale. Separate multiple assignees with commas (eg. "user1,user2"). + exempt-assignees: # optional, default is + # The assignees which exempt an issue from being marked as stale. Separate multiple assignees with commas (eg. "user1,user2"). Override "exempt-assignees" option regarding only the issues. + exempt-issue-assignees: # optional, default is + # The assignees which exempt a pull request from being marked as stale. Separate multiple assignees with commas (eg. "user1,user2"). Override "exempt-assignees" option regarding only the pull requests. + exempt-pr-assignees: # optional, default is + # Exempt all issues and pull requests with assignees from being marked as stale. Default to false. + exempt-all-assignees: # optional, default is false + # Exempt all issues with assignees from being marked as stale. Override "exempt-all-assignees" option regarding only the issues. + exempt-all-issue-assignees: # optional, default is + # Exempt all pull requests with assignees from being marked as stale. Override "exempt-all-assignees" option regarding only the pull requests. + exempt-all-pr-assignees: # optional, default is + # Exempt draft pull requests from being marked as stale. Default to false. + exempt-draft-pr: # optional, default is false + # Display some statistics at the end regarding the stale workflow (only when the logs are enabled). + enable-statistics: # optional, default is true + # A comma delimited list of labels to add when a stale issue or pull request receives activity and has the stale-issue-label or stale-pr-label removed from it. + labels-to-add-when-unstale: # optional, default is + # A comma delimited list of labels to remove when a stale issue or pull request receives activity and has the stale-issue-label or stale-pr-label removed from it. + labels-to-remove-when-unstale: # optional, default is + # Any update (update/comment) can reset the stale idle time on the issues and pull requests. + ignore-updates: # optional, default is false + # Any update (update/comment) can reset the stale idle time on the issues. Override "ignore-updates" option regarding only the issues. + ignore-issue-updates: # optional, default is + # Any update (update/comment) can reset the stale idle time on the pull requests. Override "ignore-updates" option regarding only the pull requests. + ignore-pr-updates: # optional, default is + From 8ba8a76e24abf300b33cf8d17bbf3402df2dfa4b Mon Sep 17 00:00:00 2001 From: Sam Ken <149315347+SHArPyCoBRA@users.noreply.github.com> Date: Wed, 15 Nov 2023 23:07:15 +0800 Subject: [PATCH 2/2] Create Cache Signed-off-by: Sam Ken <149315347+SHArPyCoBRA@users.noreply.github.com> --- .github/workflows/npm-publish.yml/Cache | 51 +++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/npm-publish.yml/Cache diff --git a/.github/workflows/npm-publish.yml/Cache b/.github/workflows/npm-publish.yml/Cache new file mode 100644 index 0000000000..fd9d77513b --- /dev/null +++ b/.github/workflows/npm-publish.yml/Cache @@ -0,0 +1,51 @@ +# 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@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + - run: npm ci + - run: npm test + + publish-npm: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.npm_token}} + - name: Cache + uses: actions/cache@v3.3.2 + with: + # A list of files, directories, and wildcard patterns to cache and restore + path: + # An explicit key for restoring and saving the cache + key: + # An ordered list of keys to use for restoring stale cache if no cache hit occurred for key. Note `cache-hit` returns false in this case. + restore-keys: # optional + # The chunk size used to split up large files during upload, in bytes + upload-chunk-size: # optional + # An optional boolean when enabled, allows windows runners to save or restore caches that can be restored or saved respectively on other platforms + enableCrossOsArchive: # optional, default is false + # Fail the workflow if cache entry is not found + fail-on-cache-miss: # optional, default is false + # Check if a cache entry exists for the given input(s) (key, restore-keys) without downloading the cache + lookup-only: # optional, default is false +