jx/.gitea/workflows/test.yaml

129 lines
4.2 KiB
YAML
Raw Normal View History

2024-03-21 21:55:00 +00:00
name: Declarative Tests
run-name: ${{ gitea.actor }} testing
2024-03-22 17:57:10 +00:00
on:
- push
- workflow_dispatch
- issue_comment
2024-03-21 21:55:00 +00:00
jobs:
2024-03-22 17:57:10 +00:00
test:
2024-03-21 21:55:00 +00:00
runs-on: ubuntu-latest
container:
2024-09-27 00:35:29 +00:00
image: rosskeenhouse/build-golang:1.22.6-alpine
2024-03-21 21:55:00 +00:00
env:
GOPATH: /
SSH_AUTH_SOCK: /tmp/ssh.sock
ENVIRONMENT: dev
volumes:
2024-05-24 22:12:10 +00:00
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
2024-05-25 02:48:40 +00:00
- "/etc/gitconfig:/etc/gitconfig:ro"
2024-05-25 23:41:43 +00:00
- "/opt/gitea/act_runner/.ssh/known_hosts:/root/.ssh/known_hosts"
- "/opt/gitea/act_runner/.gitconfig:/root/.gitconfig:ro"
- "/opt/gitea/act_runner/.git-credentials:/root/.git-credentials:ro"
2024-05-24 21:45:37 +00:00
- "/etc/ssl/certs:/etc/ssl/certs:ro"
2024-05-26 00:13:08 +00:00
options: --cpus 10
2024-03-21 21:55:00 +00:00
steps:
2024-03-22 18:55:50 +00:00
- run: apk add --no-cache nodejs
- name: Check out repository code
uses: actions/checkout@v3
- run: echo "The ${{ gitea.repository }} repository has been cloned to the runner."
2024-03-21 21:55:00 +00:00
- run: echo "The workflow is now ready to test your code on the runner."
- name: Run tests
run: |
2024-03-23 20:03:42 +00:00
go test -coverprofile=artifacts/coverage.profile ./...
2024-04-03 22:53:10 +00:00
- name: Run build
run: |
make build
- name: cli tests
run: |
go test
- run: echo "This job's status is ${{ job.status }}."
2024-03-23 20:43:24 +00:00
- run: echo "This job's status is ${{ job.status }}."
2024-03-23 20:11:53 +00:00
- name: coverage report
run: |
2024-03-24 00:19:13 +00:00
go tool cover -html=artifacts/coverage.profile -o artifacts/code-coverage.html
- name: Archive code coverage results
2024-03-24 00:54:55 +00:00
uses: actions/upload-artifact@v3
2024-03-24 00:19:13 +00:00
with:
2024-05-29 07:01:27 +00:00
name: "code-coverage-report"
path: "artifacts/code-coverage.html"
2024-04-03 22:53:10 +00:00
- name: Archive binary
uses: actions/upload-artifact@v3
with:
2024-05-29 07:01:27 +00:00
name: "jx-alpine"
path: "jx"
2024-03-21 21:55:00 +00:00
- run: echo "This job's status is ${{ job.status }}."
2024-05-29 06:44:56 +00:00
build-fedora:
2024-05-26 21:13:18 +00:00
runs-on: ubuntu-latest
container:
image: fedora:latest
env:
GOPATH: /
SSH_AUTH_SOCK: /tmp/ssh.sock
ENVIRONMENT: dev
volumes:
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
- "/etc/gitconfig:/etc/gitconfig:ro"
- "/opt/gitea/act_runner/.ssh/known_hosts:/root/.ssh/known_hosts"
- "/opt/gitea/act_runner/.gitconfig:/root/.gitconfig:ro"
- "/opt/gitea/act_runner/.git-credentials:/root/.git-credentials:ro"
- "/etc/ssl/certs:/etc/ssl/certs:ro"
2024-05-28 23:13:15 +00:00
options: --cpus 4
2024-05-26 21:13:18 +00:00
steps:
2024-05-29 01:15:49 +00:00
- run: dnf install -y nodejs git make
2024-05-26 21:13:18 +00:00
- name: Check out repository code
uses: actions/checkout@v3
2024-05-27 00:32:11 +00:00
with:
fetch-depth: 0
2024-05-26 22:57:23 +00:00
- run: dnf install -y dnf-plugins-core rpm-build rpmdevtools
2024-05-29 06:03:10 +00:00
- run: echo "$(pwd)/go/bin" >> $GITHUB_PATH
2024-05-26 22:17:40 +00:00
- run: dnf builddep -y build/jx.spec
2024-05-29 07:25:29 +00:00
- run: make build
2024-05-26 21:13:18 +00:00
- name: Run build
run: |
make rpm
- name: Archive binary
uses: actions/upload-artifact@v3
with:
2024-05-29 07:01:27 +00:00
name: "jx-fedora-40"
path: "jx"
2024-05-26 21:13:18 +00:00
- uses: actions/upload-artifact@v3
with:
2024-05-29 07:01:27 +00:00
name: "RPMS"
2024-05-26 21:13:18 +00:00
path: "/root/rpmbuild/**/*.rpm"
- run: echo "This job's status is ${{ job.status }}."
2024-05-29 07:01:27 +00:00
build-ubuntu-focal:
2024-05-28 19:44:44 +00:00
runs-on: ubuntu-latest
permissions:
contents: write
container:
image: ubuntu:focal
env:
GOPATH: /
SSH_AUTH_SOCK: /tmp/ssh.sock
ENVIRONMENT: dev
2024-05-28 23:13:15 +00:00
DEBIAN_FRONTEND: noninteractive
2024-05-29 00:20:56 +00:00
TZ: America/Los_Angeles
2024-05-28 19:44:44 +00:00
volumes:
- "/etc/gitconfig:/etc/gitconfig:ro"
- "/opt/gitea/act_runner/.ssh/known_hosts:/root/.ssh/known_hosts"
- "/opt/gitea/act_runner/.gitconfig:/root/.gitconfig:ro"
- "/opt/gitea/act_runner/.git-credentials:/root/.git-credentials:ro"
2024-05-28 23:13:15 +00:00
options: --cpus 4
2024-05-28 19:44:44 +00:00
steps:
2024-05-29 02:56:21 +00:00
- run: apt-get -y update && apt-get install -y tzdata
- run: apt-get install -y nodejs git make
- uses: actions/checkout@v3
with:
fetch-depth: 0
2024-05-29 06:03:10 +00:00
- run: echo "$(pwd)/go/bin" >> $GITHUB_PATH
2024-05-29 02:56:21 +00:00
- run: make ubuntu-deps
- run: make build
- run: make deb
- uses: actions/upload-artifact@v3
with:
2024-05-29 06:18:49 +00:00
name: "jx-ubuntu-focal"
2024-05-29 02:56:21 +00:00
path: "jx"