This commit is contained in:
98
.github/workflows/github-actions-demo.yml
vendored
Normal file
98
.github/workflows/github-actions-demo.yml
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
# .gitea/workflows/build.yaml
|
||||
|
||||
name: Build Crate
|
||||
run-name: Build
|
||||
|
||||
on: [push]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
# TODO -> Change to actions/checkout@v3 once this is resolved https://github.com/actions/checkout/issues/1370
|
||||
uses: https://gitea.com/ScMi1/checkout@v1
|
||||
- name: Get rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
components: rustfmt, clippy
|
||||
override: true
|
||||
- name: Add wasm32 to cargo
|
||||
run: rustup target add wasm32-unknown-unknown
|
||||
- name: Cache rust
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
cache-on-failure: "true"
|
||||
- name: Install perseus
|
||||
uses: baptiste0928/cargo-install@v2
|
||||
with:
|
||||
crate: perseus-cli
|
||||
- name: Install npm
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: latest
|
||||
- name: Install sass
|
||||
run: npm install -g sass
|
||||
- name: Install tailwindcss via npm
|
||||
run: npm install -D tailwindcss
|
||||
- name: Compile css
|
||||
run: npm run build
|
||||
- name: Build the project
|
||||
run: perseus deploy
|
||||
- name: Download private docker registry cert
|
||||
uses: nicklasfrahm/scp-action@v1.0.1
|
||||
with:
|
||||
direction: download
|
||||
host: ${{ secrets.REGISTRY_HOST }}
|
||||
username: ${{ secrets.REGISTRY_HOST_USERNAME }}
|
||||
insecure_password: ${{ secrets.REGISTRY_HOST_PASSWORD }}
|
||||
source: ${{ secrets.REGISTRY_CRT_PATH }}
|
||||
target: ca.crt
|
||||
insecure_ignore_fingerprint: true
|
||||
|
||||
- name: Add directory for docker registry cert
|
||||
run: 'mkdir -p /etc/docker/certs.d/${{ secrets.REGISTRY_HOST }}'
|
||||
|
||||
- name: Move private docker registry cert
|
||||
run: 'mv ca.crt /etc/docker/certs.d/${{ secrets.REGISTRY_HOST }}'
|
||||
|
||||
- name: Install docker
|
||||
uses: papodaca/install-docker-action@main
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
with:
|
||||
config-inline: |
|
||||
[registry."${{ secrets.REGISTRY_HOST }}"]
|
||||
insecure = true
|
||||
ca=["/etc/docker/certs.d/${{ secrets.REGISTRY_HOST }}/ca.crt"]
|
||||
|
||||
- name: Login to private docker registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ${{ secrets.REGISTRY_HOST }}
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ${{ secrets.REGISTRY_HOST }}/test/test:${{ gitea.ref_name }}
|
||||
|
||||
- name: Trigger deployment
|
||||
uses: fjogeleit/http-request-action@v1
|
||||
with:
|
||||
url: ${{ secrets.TRIGGER_DEPLOY_URL }}
|
||||
method: POST
|
||||
customHeaders: '{"Content-Type": "application/json"}'
|
||||
data: '{"actionName": "deploy", "arguments": []}'
|
||||
preventFailureOnNoResponse: 'true'
|
||||
Reference in New Issue
Block a user