mirror of
https://github.com/veeso/termscp.git
synced 2025-12-06 17:15:35 -08:00
Arch publish workflow and build with docker
This commit is contained in:
20
.github/workflows/aur-pub.yml
vendored
Normal file
20
.github/workflows/aur-pub.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
name: aur-pub
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*"
|
||||
jobs:
|
||||
aur-publish:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Publish AUR package
|
||||
uses: KSXGitHub/github-actions-deploy-aur@2.2.3
|
||||
with:
|
||||
pkgname: my-awesome-package
|
||||
pkgbuild: ./dist/pkgs/arch/PKGBUILD
|
||||
commit_username: ${{ secrets.AUR_USERNAME }}
|
||||
commit_email: ${{ secrets.AUR_EMAIL }}
|
||||
ssh_private_key: ${{ secrets.AUR_KEY }}
|
||||
commit_message: Update AUR package
|
||||
ssh_keyscan_types: rsa,dsa,ecdsa,ed25519
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -14,5 +14,6 @@
|
||||
|
||||
# End of https://www.gitignore.io/api/rust
|
||||
|
||||
# Distributions
|
||||
*.rpm
|
||||
*.deb
|
||||
|
||||
19
dist/build/deploy.sh
vendored
19
dist/build/deploy.sh
vendored
@@ -7,25 +7,30 @@ fi
|
||||
|
||||
VERSION=$1
|
||||
|
||||
mkdir -p pkgs/${VERSION}/
|
||||
# Create pkgs directory
|
||||
cd ..
|
||||
PKGS_DIR=$(pwd)/pkgs
|
||||
cd -
|
||||
mkdir -p ${PKGS_DIR}/
|
||||
# Build x86_64
|
||||
cd x86_64/
|
||||
docker build --tag termscp-${VERSION}-x86_64 .
|
||||
# Create container and get deb, rpm
|
||||
cd -
|
||||
mkdir -p pkgs/${VERSION}/deb/
|
||||
mkdir -p pkgs/${VERSION}/rpm/
|
||||
mkdir -p ${PKGS_DIR}/deb/
|
||||
mkdir -p ${PKGS_DIR}/rpm/
|
||||
CONTAINER_NAME=$(docker create termscp-${VERSION}-x86_64 termscp-${VERSION}-x86_64)
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/target/debian/termscp_${VERSION}_amd64.deb pkgs/${VERSION}/deb/
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/target/release/rpmbuild/RPMS/x86_64/termscp-${VERSION}-1.x86_64.rpm pkgs/${VERSION}/rpm/
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/target/debian/termscp_${VERSION}_amd64.deb ${PKGS_DIR}/deb/
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/target/release/rpmbuild/RPMS/x86_64/termscp-${VERSION}-1.x86_64.rpm ${PKGS_DIR}/rpm/
|
||||
# Build x86_64_archlinux
|
||||
cd x86_64_archlinux/
|
||||
docker build --tag termscp-${VERSION}-x86_64_archlinux .
|
||||
# Create container and get AUR pkg
|
||||
cd -
|
||||
mkdir -p pkgs/${VERSION}/arch/
|
||||
mkdir -p ${PKGS_DIR}/arch/
|
||||
CONTAINER_NAME=$(docker create termscp-${VERSION}-x86_64_archlinux termscp-${VERSION}-x86_64_archlinux)
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/termscp-${VERSION}-x86_64.tar.gz pkgs/arch/
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/PKGBUILD pkgs/${VERSION}/arch/
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/PKGBUILD ${PKGS_DIR}/arch/
|
||||
docker cp ${CONTAINER_NAME}:/usr/src/termscp/.SRCINFO ${PKGS_DIR}/arch/
|
||||
|
||||
exit $?
|
||||
|
||||
10
dist/build/x86_64_archlinux/Dockerfile
vendored
10
dist/build/x86_64_archlinux/Dockerfile
vendored
@@ -6,7 +6,13 @@ RUN pacman -Syu --noconfirm \
|
||||
git \
|
||||
gcc \
|
||||
openssl \
|
||||
pkg-config
|
||||
pkg-config \
|
||||
sudo
|
||||
# Create build user
|
||||
RUN useradd build -m && \
|
||||
passwd -d build && \
|
||||
mkdir -p termscp && \
|
||||
chown -R build.build termscp/
|
||||
# Install rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rust.sh && \
|
||||
chmod +x /tmp/rust.sh && \
|
||||
@@ -21,5 +27,7 @@ RUN source $HOME/.cargo/env && cargo install cargo-aur
|
||||
RUN source $HOME/.cargo/env && cargo build --release
|
||||
# Build pkgs
|
||||
RUN source $HOME/.cargo/env && cargo aur
|
||||
# Create SRCINFO
|
||||
RUN chown -R build.build ../termscp/ && sudo -u build bash -c 'makepkg --printsrcinfo > .SRCINFO'
|
||||
|
||||
CMD ["sh"]
|
||||
|
||||
Reference in New Issue
Block a user