ci: move to organization CI/CD

This commit is contained in:
Micah Halter 2023-08-01 18:30:06 -04:00
parent 9be64b9d0f
commit dbbec3a47b
20 changed files with 24 additions and 551 deletions

View File

@ -1,74 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance, race,
religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at {{ email }}. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org

View File

@ -1,179 +0,0 @@
# CONTRIBUTING
## AstroNvim install for contributors
If you wish to contribute to AstroNvim, you should:
1. [create a fork on GitHub](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
2. clone your fork to your machine
- For ssh:
```shell
$ git clone git@github.com:<YOUR GITHUB USERNAME>/AstroNvim.git ~/.config/nvim
```
- For https:
```shell
$ git clone https://github.com/<YOUR GITHUB USERNAME>/AstroNvim.git ~/.config/nvim
```
3. [add a new remote repo to track](https://www.atlassian.com/git/tutorials/git-forks-and-upstreams)
- this means you can push/pull as normal to your own repo, but also easily track & update from the AstroNvim repo
- for ssh:
```shell
$ git remote add upstream git@github.com:AstroNvim/AstroNvim.git
```
- for https:
```shell
$ git remote add upstream https://github.com/AstroNvim/AstroNvim.git
```
4. any time you create a branch to do some work, use
```shell
$ git fetch upstream && git checkout -b dev-myFEAT upstream/main
```
5. only use the **--rebase** flag to update your dev branch
- this means that there are no `Merge AstroNvim/main into devBranch` commits, which are to be avoided
```shell
$ git pull upstream --rebase
```
## Things to know before contributing
- Development happens on the `nightly` branch, so please make sure of a couple things
- all branches are rebased on the `nightly` branch to get the latest updates.
- all pull requests are made to merge into `nightly`
- When making a PR (pull request), please be very descriptive about what you've done!
- Commit messages must follow [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/)
- PR titles and commit messages should be formatted with 'fix', 'feat', 'docs', 'refactor', or 'chore'. ex: `feat: add new plugin`
- If your contribution mostly pertains to a single module in AstroNvim, please include that in the title. ex: If you have modified something in the `lua/configs/lsp` folder for the lsp configuration use something like `fix(lsp): typo in lsp mappings`
- If your contribution contains any sort of breaking change include a `!` at the end of the change type. ex: `feat!: move status bar from lualine to feline`
- PRs should follow the pull request formats where applicable
- We are open to all PRs, but if a PR is denied for any reason please don't be discouraged! We'll still be open to discussions. If you have any questions before opening the PR feel free to join the [discord server](https://discord.astronvim.com).
- AstroNvim aims to provide the best user experience when it comes to being able to support confident updating for users, for this reason please avoid opening PRs with breaking changes. Avoiding breaking changes is not always going to be possible, so if you think it is completely necessary we are open to discussion.
## How to remove, squash, or edit commits from your PR
> You may have been directed here to remove a commit such as a merge commit: `Merge AstroNvim/main into devBranch` from your PR
> As these commands edit your git history, you may need to **force push** with `git push origin --force-with-lease`
1. Run the following:
```
$ git rebase -i HEAD~<NUMBER OF COMMITS TO GO BACK>
```
<details><summary>Example</summary>
<p>
```shell
$ git rebase -i HEAD~4
```
```shell
pick 28b2dcb feat: statusline add lsp status
pick dad9a39 fix: typo
pick 68f72f1 add clickable btn for exiting nvim
pick b281b53 avoid using q! for quitting vim
# Rebase 52b655b..b281b53 onto 52b655b (4 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# . create a merge commit using the original merge commit's
# . message (or the oneline, if no original merge commit was
# . specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
```
</p>
</details>
2. Change the `pick` commands to whatever you wish, you may wish to `s` `squash`, `d` `drop` or `e` `edit` a commit. Then save & quit this git file to run it.
<details><summary>Example</summary>
<p>
```shell {3,4}
pick 28b2dcb feat: statusline add lsp status
squash dad9a39 fix: typo
edit 68f72f1 add clickable btn for exiting nvim
d b281b53 avoid using q! for quitting vim
# Rebase 52b655b..b281b53 onto 52b655b (4 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# . create a merge commit using the original merge commit's
# . message (or the oneline, if no original merge commit was
# . specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
```
</p>
</details>
3. If you picked `drop` you are done. If you picked `squash` then you will be brought to a screen to update the commit message for the new aggregated commit, please make sure the new commit message follows the Conventional Commit specification. If you picked `edit` then edit your files, then run:
```shell
$ git add <files>
```
4. Continue rebasing until all edits are finished. Run the following command to continue through the rebase if there are more changes:
```shell
$ git rebase --continue
```
5. Push the changes with `--force-with-lease`:
```shell
$ git push origin --force-with-lease
```
## Help
For help with contributing and anything else AstroNvim related join the [discord](https://discord.astronvim.com)

View File

@ -1,78 +0,0 @@
name: Bug report
description: Create a report to help us improve
labels: [bug]
body:
- type: checkboxes
id: terms
attributes:
label: Checklist
description: Have you completed the following steps and are still able to replicate the issue?
options:
- label: "Using a stable version of Neovim (i.e. not neovim nightly)"
required: true
- label: "`:AstroUpdate`"
required: true
- label: Restarted AstroNvim
required: true
- type: input
id: system-version
attributes:
label: "Operating system/version"
placeholder: "macOS 11.5"
validations:
required: true
- type: input
id: terminal
attributes:
label: "Terminal/GUI"
placeholder: "kitty"
validations:
required: true
- type: textarea
id: health
attributes:
label: AstroNvim Health
description: Output of `:checkhealth astronvim`
placeholder: |
## AstroNvim
- INFO: AstroNvim Version: nightly (v2.11.8-181-g11d5990)
- INFO: Neovim Version: v0.8.3
- OK: Using stable Neovim >= 0.8.0
validations:
required: true
- type: textarea
id: description
attributes:
label: Describe the bug
placeholder: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Steps to Reproduce
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
placeholder: A clear and concise description of what you expected to happen
validations:
required: true
- type: textarea
id: screenshots
attributes:
label: Screenshots
description: If applicable, add screenshots or recording ([Asciinema](asciinema.org)) to help explain your problem.
- type: textarea
id: additional-context
attributes:
label: Additional Context
placeholder: Add any additional context about the problem here.

View File

@ -1,8 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: r/AstroNvim (Reddit)
url: https://www.reddit.com/r/AstroNvim
about: Ask questions about AstroNvim on the official Subreddit
- name: Discord Chat
url: https://discord.astronvim.com
about: Ask questions and have discussions about AstroNvim on Discord

View File

@ -1,22 +0,0 @@
name: Feature request
description: Suggest an idea for this project
labels: [enhancement]
body:
- type: textarea
id: problem
attributes:
label: Is your feature related to a problem?
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
- type: textarea
id: solution
attributes:
label: Describe the new feature
placeholder: A clear and concise description of what the new feature is.
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
placeholder: Add any other context or screenshots about the feature request here.

View File

@ -1,7 +0,0 @@
Fixes Issue # (If it doesn't fix an issue then delete this line)
Description:
Describe the refactor or cleanup that was completed
Other:
Anything else relevant goes here

View File

@ -1,10 +0,0 @@
Fixes Issue # (If it doesn't fix an issue then delete this line)
Features Added:
- Plugin Name (Add links if possible too)
Reasoning:
List why the feature is needed
Other:
Anything else relevant goes here

View File

@ -1,7 +0,0 @@
Fixes Issue # (If it doesn't fix an issue then delete this line)
Bugs Fixed:
- A bullet for each bug fixed and a description
Other:
Anything else relevant goes here

21
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,21 @@
name: AstroNvim
on:
push:
branches: [main]
pull_request:
pull_request_target:
types: [opened, edited, synchronize]
jobs:
CI:
uses: AstroNvim/.github/.github/workflows/plugin_ci.yml@main
if: ${{ github.event_name != 'pull_request_target' }}
secrets: inherit
with:
plugin_name: ${{ github.event.repository.name }}
is_production: ${{ github.event_name == 'push' }}
docs: false
PR:
uses: AstroNvim/.github/.github/workflows/validate_pr.yml@main
if: ${{ github.event_name == 'pull_request_target' }}
secrets: inherit

View File

@ -1,13 +0,0 @@
name: Conventional Commits
on:
pull_request:
branches: [main]
jobs:
build:
name: Conventional Commits
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: webiny/action-conventional-commits@v1.1.0

View File

@ -1,34 +0,0 @@
name: Documentation
on:
push:
branches: ["main"]
pull_request:
jobs:
docs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Lua
uses: leafo/gh-actions-lua@v10
with:
luaVersion: 5.4
- name: Install LDoc
uses: leafo/gh-actions-luarocks@v4
- name: Setup dependencies
run: luarocks install ldoc
- name: Build Docs
run: |
ldoc .
- name: Deploy
uses: nwtgck/actions-netlify@v2.0
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
publish-dir: docs
production-deploy: ${{ github.ref == 'refs/heads/main' }}

View File

@ -1,13 +0,0 @@
name: Lua Linting
on:
push:
branches: ["main"]
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: lunarmodules/luacheck@v1

View File

@ -1,14 +0,0 @@
name: Spell Check
on:
pull_request:
jobs:
typos-check:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v3
- name: Check spelling
uses: crate-ci/typos@master

View File

@ -5,22 +5,5 @@ on:
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
with:
# default stale time
days-before-stale: 30
days-before-close: 5
# never stale pull requests
days-before-pr-stale: -1
days-before-pr-close: -1
# exclude issues with certain labels
exempt-issue-labels: pinned,wip,security,notice
# never stale issues attached to a milestone
exempt-all-milestones: true
# write message on stale issues
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed in 5 days if no further activity occurs.
Thank you for your contributions.
uses: AstroNvim/.github/.github/workflows/stale.yml@main
secrets: inherit

View File

@ -1,18 +0,0 @@
name: Style Check
on:
push:
branches: ["main"]
pull_request:
jobs:
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: JohnnyMorganz/stylua-action@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
# CLI arguments
args: --check .

View File

@ -1,35 +0,0 @@
name: Updater Comment
on:
pull_request_target:
paths: ["**.lua"]
types: ["opened"]
jobs:
updater-comment:
name: Comment updater settings
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
script: |
const src = context.payload.pull_request.head
const user = src.user.login
const tab = " "
let settings = tab + "updater = {\n" + tab + tab + `channel = "nightly",\n`
if (src.ref != "nightly") {
settings += tab + tab + `branch = "${src.ref}",\n`
}
if (user != "AstroNvim") {
settings += tab + tab + `remote = "${user}",\n`
settings += tab + tab + `remotes = {\n`
settings += tab + tab + tab + `["${user}"] = "${user}/${src.repo.name}",\n`
settings += tab + tab + `},\n`
}
settings += tab + "},"
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: "Use the following `updater` settings in your `user/init.lua` file, restart, and run `:AstroUpdate` to test this pull request:\n```\n" + settings + "\n```",
})

10
.gitignore vendored
View File

@ -1,16 +1,6 @@
# Project gitignore
.luarc.json
after
coc-settings.json
colors
docs
ftplugin
ginit.vim
lua/user
neoconf.json
plugin
queries
spell
# Global gitignore
# ----------------

View File

@ -2,5 +2,3 @@
[default.extend-words]
enew = "enew"
fo = "fo"
[files]
extend-exclude = ["LICENSE"]

View File

@ -174,7 +174,7 @@ There have been some great review videos released by members of the community! H
## 🚀 Contributing
If you plan to contribute, please check the [contribution guidelines](CONTRIBUTING.md) first.
If you plan to contribute, please check the [contribution guidelines](https://github.com/AstroNvim/.github/blob/main/CONTRIBUTING.md) first.
## ⭐ Credits

View File

@ -1,7 +0,0 @@
project='AstroNvim'
title='AstroNvim API'
description='Documentation of AstroNvim\'s core API'
format = 'markdown'
file='lua'
dir='docs'
no_space_before_args=true