diff --git a/.woodpecker/arch-release.yml b/.woodpecker/arch-release.yml new file mode 100644 index 0000000..1bd073f --- /dev/null +++ b/.woodpecker/arch-release.yml @@ -0,0 +1,37 @@ +matrix: + PLATFORM: + - 'linux/amd64' + # - linux/arm64 + +labels: + platform: ${PLATFORM} + +when: + event: tag + +skip_clone: true + +steps: + build: + image: 'menci/archlinuxarm:base-devel' + pull: true + commands: + - echo -e '[bur]\nServer = https://arch.r8r.be/$repo/$arch\nSigLevel = Optional' >> /etc/pacman.conf + # Update packages + - pacman -Syu --noconfirm + # Create non-root user to perform build & switch to their home + - groupadd -g 1000 builder + - useradd -mg builder builder + - chown -R builder:builder "$PWD" + - "echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers" + - su builder + - curl -OL "https://git.rustybever.be/Chewing_Bever/alex/raw/tag/$CI_COMMIT_TAG/PKGBUILD" + - makepkg -s --noconfirm --needed + + publish: + image: 'curlimages/curl' + commands: + # Publish the package + - 'for pkg in $(ls -1 *.pkg*); do curl -XPOST -T "$pkg" -H "X-API-KEY: $VIETER_API_KEY" https://arch.r8r.be/bur/publish; done' + secrets: + - vieter_api_key diff --git a/.woodpecker/clippy.yml b/.woodpecker/clippy.yml index 7bdc59c..5f23363 100644 --- a/.woodpecker/clippy.yml +++ b/.woodpecker/clippy.yml @@ -1,4 +1,5 @@ -platform: 'linux/amd64' +labels: + platform: 'linux/amd64' when: branch: diff --git a/.woodpecker/lint.yml b/.woodpecker/lint.yml index be6f331..15e45dc 100644 --- a/.woodpecker/lint.yml +++ b/.woodpecker/lint.yml @@ -1,4 +1,5 @@ -platform: 'linux/amd64' +labels: + platform: 'linux/amd64' when: branch: diff --git a/.woodpecker/release.yml b/.woodpecker/release.yml index 32524de..892dced 100644 --- a/.woodpecker/release.yml +++ b/.woodpecker/release.yml @@ -3,7 +3,8 @@ matrix: - 'linux/amd64' - 'linux/arm64' -platform: ${PLATFORM} +labels: + platform: ${PLATFORM} when: event: tag diff --git a/CHANGELOG.md b/CHANGELOG.md index 5305b42..44603b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://git.rustybever.be/Chewing_Bever/alex/src/branch/dev) -## [0.4.1](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.4.1) - -### Changed - -* Moved PKGBUILD to separate repo -* Properly update lock file - ## [0.4.0](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.4.0) ### Added diff --git a/Cargo.lock b/Cargo.lock index 788d506..e03b1d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,7 +10,7 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "alex" -version = "0.4.1" +version = "0.3.1" dependencies = [ "chrono", "clap", diff --git a/Cargo.toml b/Cargo.toml index 9e625f4..f37c2ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "alex" -version = "0.4.1" +version = "0.4.0" description = "Wrapper around Minecraft server processes, designed to complement Docker image installations." authors = ["Jef Roosens"] edition = "2021" diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..6bb6b6c --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Jef Roosens + +pkgname='alex' +pkgver=0.3.1 +pkgdesc='Wrapper around Minecraft server processes, designed to complement Docker image installations.' +pkgrel=1 +arch=('x86_64' 'aarch64') + +url='https://git.rustybever.be/Chewing_Bever/alex' +license=('MIT') + +makedepends=('cargo') +depends=('glibc' 'gcc-libs' ) + +source=("${pkgname}-${pkgver}.tar.gz::https://git.rustybever.be/Chewing_Bever/alex/archive/${pkgver}.tar.gz") +sha512sums=('f88903bd99397f3e9a1c4a40febc65eace0d594cde8de20d54ed1cd0597512152111e7a20acaaa971309d5afe1ea267c7ef3b08f0d803237e8004808a83752c5') + +prepare() { + cd "${pkgname}" + + export RUSTUP_TOOLCHAIN=stable + cargo fetch --locked --target "$CARCH-unknown-linux-gnu" +} + +build() { + cd "${pkgname}" + + export RUSTUP_TOOLCHAIN=stable + export CARGO_TARGET_DIR=target + cargo build --frozen --release --all-features +} + +check() { + cd "${pkgname}" + + export RUSTUP_TOOLCHAIN=stable + cargo test --frozen --all-features +} + +package() { + install -Dm0755 -t "${pkgdir}/usr/bin/" "${pkgname}/target/release/${pkgname}" +} diff --git a/README.md b/README.md index 979bd1e..dc96623 100644 --- a/README.md +++ b/README.md @@ -11,20 +11,6 @@ Alex is distributed as statically compiled binaries for Linux amd64 and arm64. These can be found [here](https://git.rustybever.be/Chewing_Bever/alex/packages). -### Arch - -Arch users can install prebuilt `x86_64` & `aarch64` packages from my `bur` -repository. Add the following at the bottom of your `pacman.conf`: - -```toml -[bur] -Server = https://arch.r8r.be/$repo/$arch -SigLevel = Optional -``` - -If you prefer building the package yourself, the PKGBUILD can be found -[here](https://git.rustybever.be/bur/alex-mc). - ### Dockerfiles You can easily install alex in your Docker images by letting Docker download it