Compare commits
30 Commits
Author | SHA1 | Date |
---|---|---|
Lukas Langrock | 962f2dfe61 | |
Leon Wilzer | 6a90d7134c | |
Leon Wilzer | 0046479097 | |
Leon Wilzer | 673081ab5c | |
Leon Wilzer | b8b019c7fd | |
Lukas Langrock | a36056c2c1 | |
Leon Wilzer | 4bdbafc98d | |
Leon Wilzer | 13e44197bb | |
Lukas Langrock | 6a072e423f | |
Lukas Langrock | bc9df3b8ee | |
Lukas Langrock | 551583bf04 | |
Lukas Langrock | 0915acd06b | |
Lukas Langrock | aecdd23c37 | |
Lukas Langrock | 21de12af8b | |
Lukas Langrock | e98b54f74d | |
Lukas Langrock | 7574864383 | |
Lukas Langrock | 61e87623f0 | |
Lukas Langrock | 31e7637992 | |
Lukas Langrock | bc4725c944 | |
Lukas Langrock | 1491a716bd | |
Lukas Langrock | 4735a5d432 | |
Lukas Langrock | cf9041975b | |
Lukas Langrock | 436b063e8f | |
Lukas Langrock | 3c344f48ef | |
Lukas Langrock | 0c86064e73 | |
Lukas Langrock | 8a481c9450 | |
Lukas Langrock | 770c66be79 | |
Lukas Langrock | 35818253c2 | |
Lukas Langrock | bd78a50b5c | |
Lukas Langrock | 4ac93eb099 |
196
.drone.yml
196
.drone.yml
|
@ -1,196 +0,0 @@
|
|||
kind: pipeline
|
||||
name: amd64 [debug]
|
||||
|
||||
platform:
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build [debug]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- cargo build --all
|
||||
|
||||
- name: test [debug]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- cargo test --all
|
||||
|
||||
- name: lint-clippy [debug]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- rustup component add clippy
|
||||
- cargo clippy --all
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
name: arm64 [debug]
|
||||
|
||||
platform:
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build [debug]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- cargo build --all
|
||||
|
||||
- name: test [debug]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- cargo test --all
|
||||
|
||||
- name: lint-clippy [debug]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- rustup component add clippy
|
||||
- cargo clippy --all
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
name: amd64 [release]
|
||||
|
||||
platform:
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build and test [release]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- cargo test --all --release
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
name: arm64 [release]
|
||||
|
||||
platform:
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build and test [release]
|
||||
image: rust:1.71.1-slim-bookworm
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- cargo test --all --release
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
name: rustfmt
|
||||
steps:
|
||||
- name: Format Project with rustfmt
|
||||
image: rust:1.71.1-alpine
|
||||
commands:
|
||||
- rustc --version
|
||||
- cargo --version
|
||||
|
||||
# Stupid workarounds, for stupid problems
|
||||
- echo "nameserver 1.1.1.1" >> /etc/resolv.conf
|
||||
- echo "nameserver 1.0.0.1" >> /etc/resolv.conf
|
||||
- rustup component add rustfmt
|
||||
- cargo fmt --all --check && echo "No formatting required, exiting early..." && exit 0
|
||||
- cargo fmt --all --verbose
|
||||
|
||||
# Check for format loop
|
||||
- apk add git
|
||||
- '[ "$(git log -1 --pretty=%B | grep -E ".+")" = "rustfmt" ] && echo "format loop detected, aborting..." && exit 1'
|
||||
|
||||
# Get necessary packages
|
||||
- apk add openssh gpg gpg-agent
|
||||
|
||||
# configure SSH and import private key
|
||||
- mkdir -p "$${HOME}/.ssh"
|
||||
- echo "$SSH_PRIVATE_KEY" > "$${HOME}/.ssh/git"
|
||||
- echo "Host git.libre.moe" >> "$${HOME}/.ssh/config"
|
||||
- echo " User git" >> "$${HOME}/.ssh/config"
|
||||
- echo " IdentityFile $${HOME}/.ssh/git" >> "$${HOME}/.ssh/config"
|
||||
- echo "$GITEA_ED25519_SIG" >> "$${HOME}/.ssh/known_hosts"
|
||||
- echo "$GITEA_RSA_SIG" >> "$${HOME}/.ssh/known_hosts"
|
||||
- echo "$GITEA_ECDSA_SIG" >> "$${HOME}/.ssh/known_hosts"
|
||||
- chmod 700 -R "$${HOME}/.ssh"
|
||||
|
||||
# setup gpg
|
||||
- gpg-agent --daemon
|
||||
# the git config gpg.program absolutely despises anything other than a path, including additional arguments.
|
||||
# so we just put it into it's own shell script and use that later
|
||||
- echo "#!/bin/sh" >> /tmp/gpg.sh
|
||||
- echo gpg --batch --pinentry-mode loopback --passphrase '$GPG_PASSPHRASE' \$@ >> /tmp/gpg.sh
|
||||
- chmod 777 /tmp/gpg.sh
|
||||
|
||||
# import gpg key
|
||||
- echo "$GPG_PRIVKEY" > /tmp/private.key
|
||||
- /tmp/gpg.sh --import /tmp/private.key >> /tmp/import.sh || exit 2
|
||||
|
||||
# configure git
|
||||
- git config --local user.name "WANessa"
|
||||
- git config --local user.email "$GIT_EMAIL_ADDRESS"
|
||||
- git config --local user.signingkey "$GPG_PUBKEY_ID"
|
||||
- git config --local gpg.program "/tmp/gpg.sh" # see above comment
|
||||
# Uncomment below line for ssh debugging
|
||||
# - git config core.sshCommand '/usr/bin/ssh -v'
|
||||
- git remote add ssh "$DRONE_GIT_SSH_URL"
|
||||
|
||||
# commit and push every modified file, does not include new files, because why should it?
|
||||
- GIT_COMMITTER_NAME="WANessa" GIT_COMMITTER_EMAIL="$GIT_EMAIL_ADDRESS" git commit --author "$DRONE_COMMIT_AUTHOR_NAME <$DRONE_COMMIT_AUTHOR_EMAIL>" -S -a -m "rustfmt"
|
||||
- git push ssh
|
||||
|
||||
environment:
|
||||
SSH_PRIVATE_KEY:
|
||||
from_secret: WANESSA_SSH_PRIVKEY
|
||||
GIT_EMAIL_ADDRESS:
|
||||
from_secret: WANESSA_EMAIL_ADDRESS
|
||||
GITEA_ED25519_SIG:
|
||||
from_secret: GIT_ED25519_SIG
|
||||
GITEA_RSA_SIG:
|
||||
from_secret: GIT_RSA_SIG
|
||||
GITEA_ECDSA_SIG:
|
||||
from_secret: GIT_ECDSA_SIG
|
||||
GPG_PUBKEY_ID:
|
||||
from_secret: WANESSA_GPG_PUBKEY_ID
|
||||
GPG_PASSPHRASE:
|
||||
from_secret: WANESSA_GPG_PASSPHRASE
|
||||
GPG_PRIVKEY:
|
||||
from_secret: WANESSA_GPG_PRIVKEY
|
||||
|
||||
depends_on:
|
||||
- amd64 [debug]
|
||||
- arm64 [debug]
|
||||
- amd64 [release]
|
||||
- arm64 [release]
|
|
@ -0,0 +1,80 @@
|
|||
name: WANessa CI
|
||||
run-name: Running build for ${{ gitea.actor }}
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Setup Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: stable
|
||||
components: rustfmt, clippy
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- name: Run build
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: build
|
||||
args: --all
|
||||
- name: Run tests
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: test
|
||||
args: --all
|
||||
- name: Run clippy lint checks
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: clippy
|
||||
args: --all
|
||||
- name: Make docs
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: doc
|
||||
args: --all
|
||||
- name: Format project with rustfmt
|
||||
run: |
|
||||
# Run format or exit if not required
|
||||
cargo fmt --all --check && echo "No formatting required, exiting early..." && exit 0
|
||||
cargo fmt --all --verbose
|
||||
|
||||
# Check for format loop
|
||||
[ "$(git log -1 --pretty=%B | grep -E ".+")" = "rustfmt" ] && echo "format loop detected, aborting..." && exit 1
|
||||
|
||||
# configure SSH and import private key
|
||||
mkdir -p "$${HOME}/.ssh"
|
||||
echo "${{ secrets.WANESSA_SSH_PRIVKEY }}" > "$${HOME}/.ssh/git"
|
||||
echo "Host git.libre.moe" >> "$${HOME}/.ssh/config"
|
||||
echo " User git" >> "$${HOME}/.ssh/config"
|
||||
echo " IdentityFile $${HOME}/.ssh/git" >> "$${HOME}/.ssh/config"
|
||||
echo "${{ secrets.GIT_ED25519_SIG }}" >> "$${HOME}/.ssh/known_hosts"
|
||||
echo "${{ secrets.GIT_RSA_SIG }}" >> "$${HOME}/.ssh/known_hosts"
|
||||
echo "${{ secrets.GIT_ECDSA_SIG }}" >> "$${HOME}/.ssh/known_hosts"
|
||||
chmod 700 -R "$${HOME}/.ssh"
|
||||
|
||||
# setup gpg
|
||||
gpg-agent --daemon
|
||||
# the git config gpg.program absolutely despises anything other than a path, including additional arguments.
|
||||
# so we just put it into it's own shell script and use that later
|
||||
echo "#!/bin/sh" >> /tmp/gpg.sh
|
||||
echo gpg --batch --pinentry-mode loopback --passphrase '${{ secrets.WANESSA_GPG_PASSPHRASE }}' \$@ >> /tmp/gpg.sh
|
||||
chmod 777 /tmp/gpg.sh
|
||||
|
||||
# import gpg key
|
||||
echo "${{ secrets.WANESSA_GPG_PRIVKEY }}" > /tmp/private.key
|
||||
/tmp/gpg.sh --import /tmp/private.key >> /tmp/import.sh || exit 2
|
||||
|
||||
# configure git
|
||||
git config --local user.name "WANessa"
|
||||
git config --local user.email "${{ secrets.WANESSA_EMAIL_ADDRESS }}"
|
||||
git config --local user.signingkey "${{ secrets.WANESSA_GPG_PUBKEY_ID }}"
|
||||
git config --local gpg.program "/tmp/gpg.sh" # see above comment
|
||||
# Uncomment below line for ssh debugging
|
||||
# - git config core.sshCommand '/usr/bin/ssh -v'
|
||||
git remote add ssh "${{ secrets.GIT_SSH_URL }}"
|
||||
|
||||
# commit and push every modified file, does not include new files, because why should it?
|
||||
- git commit --author "WANessa <${{ secrets.WANESSA_EMAIL_ADDRESS }}>" -S -a -m "rustfmt"
|
||||
- git push ssh
|
Loading…
Reference in New Issue