Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: #5 feature add release ci #9

Merged
merged 44 commits into from
Mar 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
57eba21
📝 Add issue template configuration file
MathieuSoysal Feb 23, 2024
3e05e45
🧑‍💻 Add GitHub CLI feature to devcontainer
MathieuSoysal Feb 23, 2024
0b17a8e
📝 Add feedback issue template
MathieuSoysal Feb 23, 2024
2c7d21d
📝 Add code of conduct and contributing guidelines
MathieuSoysal Feb 23, 2024
dbc969b
📝 Add pull request template
MathieuSoysal Feb 23, 2024
4f806a0
Add release CI
MathieuSoysal Feb 24, 2024
5271d91
Merge pull request #6 from MathieuSoysal/3-add-fuzzing-tests
MathieuSoysal Feb 24, 2024
a4807a6
docs: Add installation instructions for different operating systems
MathieuSoysal Feb 24, 2024
9dfbd40
docs: Add new presentation sections to readme
MathieuSoysal Feb 24, 2024
843435d
docs: Update project description and installer description
MathieuSoysal Feb 24, 2024
f3d8840
docs: Add documentation issue template
MathieuSoysal Feb 24, 2024
c2e8a9e
📝 Update pull request template
MathieuSoysal Feb 25, 2024
0fc6dc1
📝 Add quick start contributing section
MathieuSoysal Feb 25, 2024
0c13550
👷 Add stale.yml configuration file for issue staleness
MathieuSoysal Feb 25, 2024
cb834f4
🧑‍💻 Add Prusti Assistant extension to devcontainer.json
MathieuSoysal Feb 26, 2024
ce7635a
👷 Add security audit workflow
MathieuSoysal Feb 26, 2024
d7a3800
📝 Add link to Crate prusti
MathieuSoysal Feb 26, 2024
a4c6298
📝 Add labeler.yml
MathieuSoysal Feb 26, 2024
5f05f24
📝 Add branch labels to labeler.yml
MathieuSoysal Feb 26, 2024
33c5786
Add commit-lint workflow
MathieuSoysal Feb 26, 2024
2019b04
docs: fix typos
MathieuSoysal Mar 1, 2024
23d8b5b
Merge branch 'main' into 5-feature-add-release-ci
MathieuSoysal Mar 1, 2024
5353fbd
fix: Add checkout step for Rudra workflow
MathieuSoysal Mar 3, 2024
15fef2d
feat: Improve cargo-udeps installation command
MathieuSoysal Mar 3, 2024
220b357
fix: Update security-audit.yml: Add cargo-binstall step
MathieuSoysal Mar 3, 2024
7a934b1
fix: Add token parameter to Prusti action
MathieuSoysal Mar 3, 2024
d6a64c6
fix: Add write permission for pull requests in security audit workflow
MathieuSoysal Mar 3, 2024
d4a1bee
feat: Add prusti-contracts dependency
MathieuSoysal Mar 3, 2024
2e3db33
fix: Add Java feature for Prusti
MathieuSoysal Mar 3, 2024
8accdea
fix: Update cargo-udeps installation command
MathieuSoysal Mar 3, 2024
3f55d85
feat: Add Cargo lockbud check for deadlocks
MathieuSoysal Mar 5, 2024
9863c96
fix: Remove unused token in security-audit.yml workflow
MathieuSoysal Mar 5, 2024
935463d
feat: Update dependencies and add contract annotation
MathieuSoysal Mar 5, 2024
ddc9f72
fix(prusti): Add #[trusted] attribute to play_game functions
MathieuSoysal Mar 5, 2024
4927a48
fix: Remove cargo_prusti static analysis workflow
MathieuSoysal Mar 5, 2024
16c3038
fix: Add Rust nightly installation step to security audit workflow
MathieuSoysal Mar 7, 2024
ea6375f
fix: code coverage generation by setting LD_LIBRARY_PATH
MathieuSoysal Mar 9, 2024
5bfc1ae
fix(ci) : security deadblock
MathieuSoysal Mar 13, 2024
3b9544a
fix: Remove cargo_deadblock job from security-audit.yml
MathieuSoysal Mar 14, 2024
6c5d288
fix(ci): Add permissions and environment variables to commit-lint wor…
MathieuSoysal Mar 14, 2024
85e9ecd
fix(ci): Update dependencies installation in commit-lint workflow
MathieuSoysal Mar 14, 2024
3e9b876
fix(ci) : Add commitlint.config.js configuration file
MathieuSoysal Mar 14, 2024
0ca1a48
fix(ci) : Update commitlint.config.js
MathieuSoysal Mar 14, 2024
95815df
fix : Update commitlint configuration
MathieuSoysal Mar 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/rust:1-1-bullseye",
"features": {
"ghcr.io/devcontainers/features/rust:1": {}
"ghcr.io/devcontainers/features/rust:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers/features/java:1": {} // Used for Prusti
},
"customizations": {
"vscode": {
Expand All @@ -17,7 +19,8 @@
"ZhangYue.rust-mod-generator",
"usernamehw.errorlens",
"seatonjiang.gitmoji-vscode",
"github.vscode-github-actions"
"github.vscode-github-actions",
"viper-admin.prusti-assistant"
]
},
"codespaces": {
Expand Down
File renamed without changes.
62 changes: 62 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
## Contributing

Hi! Thanks for your interest in contributing to the Rust template!

We accept pull requests for bug fixes and features where we've discussed the approach in an issue and given the go-ahead for a community member to work on it. We'd also love to hear about ideas for new features as issues.

Please do:

* Check existing issues to verify that the [bug][bug issues] or [feature request][feature request issues] has not already been submitted.
* Open an issue if things aren't working as expected.
* Open an issue to propose a significant change.
* Open a pull request to fix a bug.
* Open a pull request to fix documentation about a command.
* Open a pull request for any issue labelled [`help wanted`][hw] or [`good first issue`][gfi].

Please avoid:

* Opening pull requests for issues marked `needs-design`, `needs-investigation`, or `blocked`.
* Opening pull requests that haven't been approved for work in an issue
* Adding installation instructions specifically for your OS/package manager.
* Opening pull requests for any issue marked `core`. These issues require additional context from
the core CLI team at GitHub and any external pull requests will not be accepted.

## Building the project

Prerequisites:
- rust or use the provided devcontainer

Run tests with: `cargo test`

## Submitting a pull request

1. Create a new branch: `git checkout -b my-branch-name`
1. Make your change, add tests, and ensure tests pass
1. Submit a pull request

Contributions to this project are [released][legal] to the public under the [project's open source license][license].

Please note that this project adheres to a [Contributor Code of Conduct][code-of-conduct]. By participating in this project you agree to abide by its terms.

## Design guidelines


## Resources

- [How to Contribute to Open Source][]
- [Using Pull Requests][]
- [GitHub Help][]


[bug issues]: https://github.com/MathieuSoysal/Exercism-Rust-Template/issues?q=is%3Aopen+is%3Aissue+label%3Abug
[feature request issues]: https://github.com/MathieuSoysal/Exercism-Rust-Template/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement
[hw]: https://github.com/MathieuSoysal/Exercism-Rust-Template/labels/help%20wanted
[gfi]: https://github.com/MathieuSoysal/Exercism-Rust-Template/labels/good%20first%20issue
[legal]: https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-terms-of-service#6-contributions-under-repository-license
[license]: ../LICENSE
[code-of-conduct]: ./CODE-OF-CONDUCT.md
[How to Contribute to Open Source]: https://opensource.guide/how-to-contribute/
[Using Pull Requests]: https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests
[GitHub Help]: https://docs.github.com/
[CLI Design System]: https://primer.style/cli/
[Google Docs Template]: https://docs.google.com/document/d/1JIRErIUuJ6fTgabiFYfCH3x91pyHuytbfa0QLnTfXKM/edit#heading=h.or54sa47ylpg
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Ask a question on how to use template-exercisme
about: For general-purpose questions and answers, see the Discussions section.
url: https://github.com/MathieuSoysal/Exercism-Rust-Template/discussions
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Documentation problem
description: Create a report for a documentation problem.
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
Thank you for finding a documentation problem! 📚

Documentation problems might be grammatical issues, typos, or unclear wording, please provide details regarding the documentation including where it is present.

- type: textarea
id: location
attributes:
label: Location
validations:
required: true

- type: textarea
id: summary
attributes:
label: Summary
validations:
required: true
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/feedback.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: "\U0001F4E3 Feedback"
about: Give us general feedback about the GitHub CLI
title: ''
labels: feedback
assignees: ''

---

# CLI Feedback

You can use this template to give us structured feedback or just wipe it and leave us a note. Thank you!

## What have you loved?

_eg "the nice colors"_

## What was confusing or gave you pause?

_eg "it did something unexpected"_

## Are there features you'd like to see added?

_eg "gh cli needs mini-games"_

## Anything else?

_eg "have a nice day"_
35 changes: 35 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!--- Provide a general summary of your changes in the Title above -->
<!--- To help with semantic versioning the PR title should start with one of the conventional commit types. -->
<!--- The conventional commit types for Semantic PR are: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert -->

## Description
<!--- Describe your changes in detail -->

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
closes #

## Screenshots (if appropriate):

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, tests ran to see how -->
<!--- your change affects other areas of the code, etc. -->
- [ ] I have tested using **MacOS**
- [ ] I have tested using **Linux**
- [ ] I have tested using **Windows**

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] I have updated the documentation accordingly.
- [ ] I have updated the tests accordingly.

## Migration Guide

> This section is optional. If there are no breaking changes, you can delete this section.

- If this PR is a breaking change (relative to the last release of Bevy), describe how a user might need to migrate their code to support these changes
- Simply adding new functionality is not a breaking change.
- Fixing behavior that was definitely a bug, rather than a questionable design choice is not a breaking change.
70 changes: 70 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Configuration for Auto Labeler during pull request
#
# See https://github.com/actions/labeler for file format
# and https://github.com/google/flatbuffers/labels for a list of valid labels
#
# See .github/workflows/label.yml for Github Action workflow script

rust:
- '**/*.rs'
- rust/**/*
- src/idl_gen_rust.cpp

cargo:
- Cargo.toml
- Cargo.lock
- rust-toolchain

code:
- src/**/*

documentation:
- docs/**/*
- '**/*.md'

CI:
- '.github/**/*'
- '.appveyor/**/*'
- '.travis/**/*'
- '.bazelci/**/*'
- .travis.yml
- appveyor.yml

devcontainer:
- .devcontainer/**/*

fuzzing:
- fuzz/**/*

feature:
- head-branch: ['^feature', 'feature']

bug:
- head-branch: ['^bug', 'bug']

documentation:
- head-branch: ['^docs', 'docs']

chore:
- head-branch: ['^chore', 'chore']

ci:
- head-branch: ['^ci', 'ci']

build:
- head-branch: ['^build', 'build']

test:
- head-branch: ['^test', 'test']

perf:
- head-branch: ['^perf', 'perf']

fix:
- head-branch: ['^fix', 'fix']

refactor:
- head-branch: ['^refactor', 'refactor']

style:
- head-branch: ['^style', 'style']
17 changes: 17 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
43 changes: 43 additions & 0 deletions .github/workflows/commit-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Check if commit is conventional

on: [push, pull_request]

permissions:
contents: read

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:

commitlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install required dependencies
run: |
sudo apt update
sudo apt install -y sudo
sudo apt install -y git curl
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo DEBIAN_FRONTEND=noninteractive apt install -y nodejs
- name: Print versions
run: |
git --version
node --version
npm --version
npx commitlint --version
- name: Install commitlint
run: |
npm install conventional-changelog-conventionalcommits
npm install commitlint@latest

- name: Validate current commit (last commit) with commitlint
if: github.event_name == 'push'
run: npx commitlint --from HEAD~1 --to HEAD --verbose

- name: Validate PR commits with commitlint
if: github.event_name == 'pull_request'
run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
Loading
Loading