actions/README.md
Eoghan Conlon 38685b8e2d Feat. Allowing the owner of the action to specify the nix version
Signed-off-by: Eoghan Conlon <eoghanconlon73@skynet.ie>
2024-10-01 09:59:23 +01:00

3 KiB

actions

A collection of actions for the CI/CD on the Skynet Forgejo instance.

deploy

Deploy is used to deploy services onto teh skynet cluster itself.
Primarily used for Skynet and Compsoc

v2

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)

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 }}

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

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
        with:
          repository: ${{ gitea.repository }}
          ref_name: ${{ gitea.ref_name }}
      - name: "Build it locally"
        run: nix build --verbose

v6

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 }}

Deploy User

v6


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"
      - uses: https://forgejo.skynet.ie/Skynet/actions/deploy_user@v6
        with:
          ssh_key: ${{ secrets.SSH_KEY }}
          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

jobs:
  build:
    runs-on: docker
    steps:
      uses: https://forgejo.skynet.ie/Skynet/actions/docker_nix@v7
      with:
        nix_version: nixos-unstable