Commit graph

26 commits

Author SHA1 Message Date
Luke
a9f0aa1219
Add recursive checkout option to ci 2021-12-03 00:20:51 +10:00
Luke
2c36dacfd2 Single file publish support, test project and simple build CI
This also adds remote raspberry pi debugging with default install details. More testing is required as MonoMod may not be working for arm64 still

CI might not work yet either
2021-12-03 00:07:11 +10:00
Lucas Nicodemus
d60a25b211 Use GitHub token built into GHA
Okay, now we're at problem 74 with github actions. Basically, github
actions doesn't send secrets to forks because duh, that makes sense. So
even if you make a super restricted token you still can't send it to
forks because github still doesn't understand how to make a security
platform when they just copy paste azure pipelines into github and then
say "well looks good to me" and ship fucking arbitrary code execution to
the entire fucking world and then try to retroactively fix all of their
mistakes and fail miserably in the process
2021-05-23 13:14:21 -07:00
Lucas Nicodemus
8611742286 Switch to entirely new action for changelog check
Look, let's just be real here: GitHub needs to redo the entire
permission model for GitHub. There is no way to create a secure
combination of the following elements: post comment, edit comment, and
post status check.

If you want to be able to post comments, you have to authorize a token
or app to have full authority to do literally anything that the user can
do on a public repo. Full stop.

If you want to post a status check, you have to give the user write
access to the entire repo, which makes the first issue a problem.

You can't just explicitly make a token that says "only allow this user
to post and edit its own comments" and "allow this user to post status
checks" because write access on the repo implies authority over all
other issues/PRs opened by other people.

Now Cardinal's token is restricted to just status checks, and we're
using a different action.

Thanks a ton for the huge mess Github.
2021-05-23 13:06:06 -07:00
Lucas Nicodemus
613afc1d75 Use Cardinal for danger CI
This change uses Cardinal's PAT for GitHub Actions CI. The way this
works is very convoluted, but it makes sense in theory.

1. Cardinal is a member of the Pryaxis org, in a group called "untrusted
   robots." She has write access to Pryaxis/TShock, so she can create
status messages. This is because GitHub only allows status messages to
be created if a user has write access.

2. Cardinal has a PAT, and that PAT only has access to creating
   repository status messages.

3. Danger requires permission to post comments and update CI status.

4. Cardinal's PAT is only authorized to create repo status messages, and
   cannot privilege escalate.

5. GitHub implicitly gives everyone the ability to post comments on
   public repositories.

Thus, this really interesting and weird flow should mean that Cardinal
can post comments and update status messages, by having write access but
functionally being unable to use it.

At least, that's the theory.
2021-05-23 12:23:08 -07:00
Lucas Nicodemus
7dde56e6da
Update danger to run on pull_request_target
pull_request_target runs in the context of the base repo, which should allow Danger to be able to comment on things from outside the repo: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target
2021-05-22 21:56:36 -07:00
Lucas Nicodemus
d7bc4fdbda Add Danger CI check for changelog entries
This commit adds Danger via GitHub Actions. Dangerfiles are ruby files
that have a DSL for interacting with GitHub. They can do arbitrary
things. See: https://danger.systems/reference.html

The point of this commit is to automate the process of asking people to
update the changelog. This is a really really annoying thing that we
have to do too often. Editing a pull request will automatically re-run
the check.

Truly trivial commits can be marked as trivial easily by using the
hashtag trivial in the PR body. This is really just useful for actually
trivial things. Most commits actually do need to have associated
changelog entries.
2021-05-20 02:33:37 -07:00
Stargazing Koishi
770d17c236
Update .github/workflows/build.yml
Co-authored-by: Lucas Nicodemus <shank@shanked.me>
2020-05-30 16:07:12 -07:00
SGKoishi
a815b7556d
Upload artifacts with condition 2020-05-30 15:21:50 -07:00
SGKoishi
0932cc821a
Split workflow into Debug and Release 2020-05-30 14:11:19 -07:00
SGKoishi
50b246c4a3
Revert MSBuild PATH variable 2020-05-24 14:05:57 -07:00
SGKoishi
7e5490a999
Update 'release' wording 2020-05-24 00:41:06 -07:00
SGKoishi
f999e3dbe9
Use 'not debug' instead of release to avoid ambiguity 2020-05-23 23:35:22 -07:00
SGKoishi
e2afd4a745
Update workflow 2020-05-23 20:42:41 -07:00
Lucas Nicodemus
e1fa7aa556
Restructure folder structure of GHA artifacts 2020-05-19 15:06:09 -07:00
Lucas Nicodemus
17affbe93b
Run actions on pull request 2020-05-18 09:24:33 -07:00
Lucas Nicodemus
edca454f8d
Use xcopy to copy actions artifacts 2020-05-18 00:35:28 -07:00
Lucas Nicodemus
39730a7b14
Use powershell in github actions copy 2020-05-18 00:29:17 -07:00
Lucas Nicodemus
a341ca16fb
Update copy prebuilts workflow run again 2020-05-18 00:23:26 -07:00
Lucas Nicodemus
cc814ff3cc
Add copy prebuilts to github actions script 2020-05-18 00:18:56 -07:00
Lucas Nicodemus
df24792352
Publish artifacts in github for debug builds from CI
It's helpful to have debug builds available for people to download if
they need it.
2020-02-11 19:19:28 -08:00
Lucas Nicodemus
c1811b3afb
Fix GitHub Actions with updated Windows Server 2019 builder
This changeset fixes several problems with the github actions build. It
removes the dependency on a repo script to install msbuild + VS. It
switches the shell back to cmd.exe, so that the scripts in build.yml
continue to run. It installs nuget via chocolatey, since that's not on
the path by default. Finally, it also uses built in MSBUILD to satisfy
the first statement.
2020-02-09 21:22:29 -08:00
SGKoishi
1915d69f08
Rename the action to Build Server 2019-10-02 16:56:50 -07:00
SGKoishi
fdbc958b34
Include the download script 2019-10-02 16:29:26 -07:00
SGKoishi
79b092b9c1
Add GitHub Actions build script and badge 2019-10-02 14:01:46 -07:00
Lucas Nicodemus
6fb2d7b585
Move test action to workflows folder 2019-09-04 22:15:19 -07:00