actions/README.md

129 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

# actions
A collection of actions for the CI/CD on the Skynet Forgejo instance.
2024-08-08 13:25:55 +00:00
## deploy
Deploy is used to deploy services onto teh skynet cluster itself.
Primarily used for Skynet and Compsoc
### v2
```yaml
jobs:
# deploy it upstream
deploy:
# runs on teh default docker container
runs-on: docker
needs: [ build ]
steps:
- name: "Deploy to Skynet"
uses: https://forgejo.skynet.ie/Skynet/actions-deploy-to-skynet@v2
with:
input: 'compsoc_public'
token: ${{ secrets.API_TOKEN_FORGEJO }}
```
### v3
V3 moves it into its own folder in order to better organise the actions in this repo (instead of having a repo for each action)
```yaml
jobs:
# deploy it upstream
deploy:
# runs on teh default docker container
runs-on: docker
needs: [ build ]
steps:
- name: "Deploy to Skynet"
uses: https://forgejo.skynet.ie/Skynet/actions/deploy@v3
with:
input: 'compsoc_public'
token: ${{ secrets.API_TOKEN_FORGEJO }}
2024-08-11 20:49:43 +00:00
```
## Get LFS
Custom script that is used to get lfs objects from a repo.
``checkout@v4`` is intended to be able to do this, however it has a bug that prevents it doing so.
### v3
2024-08-11 20:49:43 +00:00
````yaml
jobs:
build:
# build it using teh base nixos system, helps with caching
runs-on: nix
steps:
# get the repo first
- uses: https://code.forgejo.org/actions/checkout@v4
- name: "Get LFS objects"
uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v3
2024-08-11 20:49:43 +00:00
with:
repository: ${{ gitea.repository }}
ref_name: ${{ gitea.ref_name }}
- name: "Build it locally"
run: nix build --verbose
````
2024-09-23 21:35:38 +00:00
### v6
````yaml
jobs:
build:
# build it using teh base nixos system, helps with caching
2024-09-23 21:35:38 +00:00
runs-on: docker
steps:
# get the repo first
- uses: https://code.forgejo.org/actions/checkout@v4
2024-09-23 21:35:38 +00:00
# Make sure all files are pulled down
- uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v6
with:
repository: ${{ gitea.repository }}
ref_name: ${{ gitea.ref_name }}
````
## Deploy User
### v6
```yaml
jobs:
build:
# build it using teh base nixos system, helps with caching
runs-on: docker
steps:
# get the repo first
- uses: https://code.forgejo.org/actions/checkout@v4
# Make sure all files are pulled down
- uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v6
with:
repository: ${{ gitea.repository }}
ref_name: ${{ gitea.ref_name }}
# temp one just to get it "built"
2024-09-23 21:35:38 +00:00
- uses: https://forgejo.skynet.ie/Skynet/actions/deploy_user@v6
with:
ssh_key: ${{ secrets.SSH_KEY }}
2024-09-23 21:35:38 +00:00
username: ${{ env.GITHUB_REPOSITORY_OWNER }}
folder: "src"
#destination: "subfolder"
```
## Docker Nix
This action is used to get nix into the docker user deploy system.
### v7
```yaml
jobs:
build:
runs-on: docker
steps:
uses: https://forgejo.skynet.ie/Skynet/actions/docker_nix@v7
```
## Nix build Deploy user
This action can build your website if you develop it using different methods than writing HTML. Only pre-requisite is that
this action uses the Nix build command, so your repository requires a nix flake.
```yaml
jobs:
build:
runs-on: docker
steps:
uses: https://forgejo.skynet.ie/Skynet/actions/nix-build_deploy@v7
```