diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/codeql.yml | 34 | ||||
-rw-r--r-- | .github/workflows/deploy.yml | 58 | ||||
-rw-r--r-- | .github/workflows/release-notes.yml | 14 | ||||
-rw-r--r-- | .github/workflows/test.yml | 44 |
4 files changed, 150 insertions, 0 deletions
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..008b770 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,34 @@ +name: "CodeQL" + +on: + push: + branches: + - main + - "!dependabot/**" + pull_request: + # The branches below must be a subset of the branches above + branches: + - main + schedule: + - cron: "0 0 * * 0" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: "javascript" + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..e8a396e --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,58 @@ +name: Deploy + +on: + release: + types: + - published + +env: + FORCE_COLOR: 2 + NODE: 16 + +jobs: + deploy: + runs-on: ubuntu-latest + if: github.repository == 'twbs/icons' + + steps: + - name: Clone repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: "${{ env.NODE }}" + cache: npm + + - name: Install npm dependencies + run: npm ci + + - name: Build the icons + run: npm run icons + + - name: Build the docs + run: npm run docs-build + + - name: Deploy docs + uses: peaceiris/actions-gh-pages@v3 + with: + allow_empty_commit: false + personal_token: ${{ secrets.PERSONAL_TOKEN }} + publish_branch: gh-pages + publish_dir: ./_site/ + + publish: + needs: deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version: "${{ env.NODE }}" + registry-url: "https://registry.npmjs.org" + + - name: Publish on npm + run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml new file mode 100644 index 0000000..1c4f4be --- /dev/null +++ b/.github/workflows/release-notes.yml @@ -0,0 +1,14 @@ +name: Release notes + +on: + push: + branches: + - main + +jobs: + update_release_draft: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..29cad2c --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,44 @@ +name: Tests + +on: + push: + branches-ignore: + - "dependabot/**" + pull_request: + +env: + FORCE_COLOR: 2 + NODE: 16 + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: "${{ env.NODE }}" + cache: npm + + - run: java -version + + - name: Install npm dependencies + run: npm ci + + - name: Build the icons + run: npm run icons + + - name: Run tests + run: npm test + + - name: Run linkinator + uses: JustinBeckwith/linkinator-action@v1 + with: + paths: _site + recurse: true + verbosity: error + skip: "^(?!http://localhost)" |