Skip to content

Commit

Permalink
Merge pull request #1 from artichoke/lopopolo/ci
Browse files Browse the repository at this point in the history
Add GitHub Actions workflows for CI and GitHub issue labels, fix build errors
  • Loading branch information
lopopolo committed May 18, 2023
2 parents 48eb666 + 89b9d68 commit d397a8d
Show file tree
Hide file tree
Showing 13 changed files with 546 additions and 11 deletions.
29 changes: 29 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
assignees:
- lopopolo
labels:
- A-deps
- package-ecosystem: cargo
directory: "/"
schedule:
interval: monthly
open-pull-requests-limit: 10
assignees:
- lopopolo
labels:
- A-deps
- package-ecosystem: bundler
directory: "/"
schedule:
interval: monthly
open-pull-requests-limit: 10
assignees:
- lopopolo
labels:
- A-deps
120 changes: 120 additions & 0 deletions .github/labels.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
- name: "A-build"
color: "f7e101"
description: "Area: CI build infrastructure."
- name: "A-build-target"
color: "f7e101"
description: "Area: Support for builds of specific targets."
- name: "A-crate-features"
color: "f7e101"
description: "Area: Compile-time features or attributes."
- name: "A-deps"
color: "f7e101"
description: "Area: Source and library dependencies."
- name: "A-ffi"
color: "f7e101"
description: "Area: Native bindings and bindgen."
- name: "A-packaging"
color: "f7e101"
description: "Area: Packaging releases for distribution."
- name: "A-performance"
color: "f7e101"
description: "Area: Performance improvements and optimizations."
- name: "A-project"
color: "f7e101"
description: "Area: Infrastructure for running an open source project."
- name: "A-release"
color: "f7e101"
description: "Area: crates.io releases and version bumps."
- name: "A-security"
color: "f7e101"
description: "Area: Security vulnerabilities and unsoundness issues."
- name: "A-win-known-folders"
color: "f7e101"
description: "Area: Windows Known Folders API."
- name: "C-bug"
color: "c1c8ff"
description: "Category: This is a bug."
- name: "C-docs"
color: "c1c8ff"
description: "Category: Improvements or additions to documentation."
- name: "C-enhancement"
color: "c1c8ff"
description: "Category: New feature or request."
- name: "C-quality"
color: "c1c8ff"
description: "Category: Refactoring, cleanup, and quality improvements."
- name: "C-question"
color: "c1c8ff"
description: "Category: Further information is requested."
- name: "E-easy"
color: "02e10c"
description:
"Call for participation: Experience needed to fix: Easy / not much."
- name: "E-medium"
color: "02e10c"
description:
"Call for participation: Experience needed to fix: Medium / intermediate."
- name: "E-hard"
color: "02e10c"
description: "Call for participation: Experience needed to fix: Hard / a lot."
- name: "E-help-wanted"
color: "02e10c"
description: "Call for participation: Help is requested to fix this issue."
- name: "E-needs-test"
color: "02e10c"
description: "Call for participation: Writing correctness tests."
- name: "O-linux"
color: "6e6ec0"
description: "Target: Support for building on Linux (GNU / musl) targets."
- name: "O-macOS"
color: "6e6ec0"
description: "Target: Support for building on macOS / Darwin targets."
- name: "O-wasm-emscripten"
color: "6e6ec0"
description:
"Target: Support for building the `wasm32-unknown-emscripten` target."
- name: "O-wasm-unknown"
color: "6e6ec0"
description:
"Target: Support for building the `wasm32-unknown-unknown` target."
- name: "O-windows"
color: "6e6ec0"
description:
"Target: Support for building on Windows targets like
`x86_64-pc-windows-msvc`."
- name: "S-archive"
color: "d3dddd"
description: "Status: This pull request exists to archive an unmerged branch."
- name: "S-blocked"
color: "d3dddd"
description:
"Status: Marked as blocked ❌ on something else such as other implementation
work."
- name: "S-do-not-merge"
color: "d3dddd"
description: "Status: This pull request should not be merged."
- name: "S-duplicate"
color: "d3dddd"
description: "Status: This issue or pull request already exists."
- name: "S-invalid"
color: "d3dddd"
description: "Status: This issue or pull request is not well-formed."
- name: "S-postponed"
color: "d3dddd"
description:
"Status: This issue or pull request is being postponed until later."
- name: "S-speculative"
color: "d3dddd"
description: "Status: This is just an idea."
- name: "S-stale"
color: "d3dddd"
description:
"Status: This PR is stale. Please open a new PR if you'd like to pick this
back up."
- name: "S-wip"
color: "d3dddd"
description: "Status: This pull request is a work in progress."
- name: "S-wontfix"
color: "d3dddd"
description: "Status: This issue or pull request will not be worked on."
22 changes: 22 additions & 0 deletions .github/markdown-link-check.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"ignorePatterns": [
{
"pattern": "img.shields.io"
},
{
"pattern": "^https://twitter.com/artichokeruby"
}
],
"replacementPatterns": [],
"httpHeaders": [
{
"urls": ["https://crates.io"],
"headers": {
"Accept": "text/html"
}
}
],
"retryOn429": true,
"retryCount": 3,
"fallbackRetryDelay": "60s"
}
59 changes: 59 additions & 0 deletions .github/workflows/audit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
name: Audit
"on":
push:
branches:
- trunk
pull_request:
branches:
- trunk
schedule:
- cron: "0 0 * * TUE"
jobs:
ruby:
name: Audit Ruby Dependencies
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3.5.2

- name: Install Ruby toolchain
uses: ruby/setup-ruby@d2b39ad0b52eca07d23f3aa14fdf2a3fcc1f411c # v1.148.0
with:
ruby-version: ".ruby-version"
bundler-cache: true

- name: bundler-audit
run: bundle exec bundle-audit check --update

rust:
name: Audit Rust Dependencies
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans licenses sources

# Prevent sudden announcement of a new advisory from failing ci:
continue-on-error: ${{ matrix.checks == 'advisories' }}

steps:
- name: Checkout repository
uses: actions/checkout@v3.5.2

- name: Install Rust toolchain
uses: artichoke/setup-rust/audit@v1.9.0

- name: Generate Cargo.lock
run: |
if [[ ! -f "Cargo.lock" ]]; then
cargo generate-lockfile --verbose
fi
- uses: EmbarkStudios/cargo-deny-action@e0a440755b184aa50374330fa75cca0f84fcb59a # v1.5.2
with:
arguments: --locked --all-features
command: check ${{ matrix.checks }}
command-arguments: --show-stats
16 changes: 16 additions & 0 deletions .github/workflows/block-merge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Merge
"on":
pull_request:
types: [opened, labeled, unlabeled, synchronize]
jobs:
labels:
name: Labels
runs-on: ubuntu-latest

steps:
- uses: mheap/github-action-required-labels@422e4c352ef83db91089e6acfbf09d8725e08abc # v4.0.0
with:
mode: exactly
count: 0
labels: "S-do-not-merge, S-wip"
Loading

0 comments on commit d397a8d

Please sign in to comment.