Compare commits

..

32 Commits

Author SHA1 Message Date
Husen c9f94059cc chore: release v3.0.0
CI / Test (with Dockerfile) (push) Has been cancelled
CI / Publish OCI image (push) Has been cancelled
CI / Test (with prebuilt OCI Image) (push) Has been cancelled
CI / Release (push) Has been cancelled
Signed-off-by: Husen <hi@husen.id>
2026-01-16 22:59:41 +07:00
dependabot[bot] 5c996bd4d2 Merge pull request #59 from heyhusen/dependabot/github_actions/actions/checkout-6 2026-01-16 15:51:34 +00:00
dependabot[bot] 3bffac3ae7 chore(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-16 15:50:07 +00:00
Husen 91e8b8c11d Merge pull request #61 from heyhusen/ci/failed-test
ci: update spotify package to v1.2.79.427-1 for test
2026-01-16 22:46:18 +07:00
Husen 347dece6de ci: update spotify package to v1.2.79.427-1 for test
Signed-off-by: Husen <hi@husen.id>
2026-01-16 22:44:19 +07:00
Husen 500fc82963 Merge pull request #60 from dcelasun/feat/replace-paru-with-yay
feat: Replace paru with yay
2025-12-27 15:50:11 +07:00
D. Can Celasun c373f73845 feat: Replace paru with yay
Paru has not been updated in months and is incompatible with the current
version of pacman / libalpm, which is v16.0.0. See upstream issue [1].

Replace paru with yay so the action works again.

Also updated CI test with latest Spotify as the old version is gone now.

[1] https://github.com/Morganamilo/paru/issues/1454
2025-12-14 19:32:53 +00:00
Husen 08dba55302 Merge pull request #58 from heyhusen/ci/weekly-dependabot
ci: change dependabot update to weekly
2025-08-16 09:00:33 +07:00
Husen bed26d7507 ci: change dependabot update to weekly
Signed-off-by: Husen <hi@husen.id>
2025-08-16 08:55:31 +07:00
dependabot[bot] 8fa9eb7023 Merge pull request #57 from heyhusen/dependabot/github_actions/actions/checkout-5 2025-08-12 11:22:51 +00:00
dependabot[bot] f87823ed79 chore(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 04:11:09 +00:00
Husen f74e99ad3c Merge pull request #56 from heyhusen/ci/token-permission
ci: allow GITHUB_TOKEN to push OCI image & create a release
2025-08-01 04:30:58 +07:00
Husen 5f746d9353 ci: allow GITHUB_TOKEN to push OCI image & create a release
Signed-off-by: Husen <hi@husen.id>
2025-08-01 04:28:16 +07:00
dependabot[bot] 2afeaa64ad Merge pull request #55 from heyhusen/dependabot/github_actions/tj-actions/branch-names-9 2025-07-30 01:04:29 +00:00
dependabot[bot] adae81c2d0 chore(deps): bump tj-actions/branch-names from 8 to 9
Bumps [tj-actions/branch-names](https://github.com/tj-actions/branch-names) from 8 to 9.
- [Release notes](https://github.com/tj-actions/branch-names/releases)
- [Changelog](https://github.com/tj-actions/branch-names/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/branch-names/compare/v8...v9)

---
updated-dependencies:
- dependency-name: tj-actions/branch-names
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 20:50:34 +00:00
Husen 04303ce8da Merge pull request #53 from heyhusen/release/v2.4.0
CI / Test (with Dockerfile) (push) Has been cancelled
CI / Release (push) Has been cancelled
CI / Publish OCI image (push) Has been cancelled
CI / Test (with prebuilt OCI Image) (push) Has been cancelled
chore: release v2.4.0
2025-06-01 11:36:04 +07:00
Husen 89fcd71e20 chore: release v2.4.0
Signed-off-by: Husen <hi@husen.id>
2025-06-01 11:34:02 +07:00
Husen f5ada5953b Merge pull request #52 from dcelasun/feat/add-pgp-support
Add support for loading PGP keys
2025-06-01 11:28:04 +07:00
D. Can Celasun c53aa59f58 Add support for loading PGP keys
Without this, the only way to build PKGBUILDs with signatures is to pass
--skippgpcheck to makepkg.

Also switched to a package with PGP keys to verify.
2025-05-30 23:27:11 +01:00
Husen 5b75404b8d Merge pull request #51 from heyhusen/release/v2.3.0
CI / Test (with Dockerfile) (push) Has been cancelled
CI / Publish OCI image (push) Has been cancelled
CI / Test (with prebuilt OCI Image) (push) Has been cancelled
CI / Release (push) Has been cancelled
chore: release v2.3.0
2025-05-27 07:35:54 +07:00
Husen ffd91d234b chore: release v2.3.0
Signed-off-by: Husen <hi@husen.id>
2025-05-27 07:32:47 +07:00
Husen 602fae3c61 Merge pull request #50 from dcelasun/fix/use-multilib-devel
Use archlinux/multilib-devel
2025-05-27 07:21:30 +07:00
Husen 6e5fdcc377 Merge pull request #49 from dcelasun/feat/copy-all-files
feat: Copy all package files, not just PKGBUILD
2025-05-27 07:14:27 +07:00
D. Can Celasun f0c37ce87f feat: Copy all package files, not just PKGBUILD
Also update CI workflow to test against a package with multiple source
files.

This fixes https://github.com/heyhusen/archlinux-package-action/issues/31
2025-05-26 12:43:52 +01:00
D. Can Celasun 22a870372c Use archlinux/multilib-devel
Otherwise packages depending on multilib stuff can't be built.
2025-05-25 20:16:43 +01:00
Husen ee5d6e807d Merge pull request #48 from cilki/main
Fix keyring update
2025-03-16 14:00:48 +07:00
Tyler Cook a93ac07315 Pacman --noconfirm 2025-02-28 20:29:46 -06:00
Tyler Cook cfcd11665c Run pacman as root 2025-02-28 20:24:03 -06:00
Tyler Cook 4076a2bcdb Fix keyring update 2025-02-28 20:07:50 -06:00
Husen 4de74c453f Merge pull request #47 from heyhusen/v2
V2
2024-09-08 16:01:44 +07:00
Husen f3d81c81b8 Merge pull request #46 from heyhusen/chore/update-v2-branch
Chore/update v2 branch
2024-09-08 15:57:58 +07:00
Husen e573cc1655 Merge pull request #45 from heyhusen/bugfix/cannot-pull-docker-image
Bugfix/cannot pull docker image
2024-09-08 15:52:38 +07:00
8 changed files with 117 additions and 48 deletions
+1 -1
View File
@@ -4,4 +4,4 @@ updates:
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "weekly"
+25 -14
View File
@@ -17,39 +17,49 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Update action.yml to build locally - name: Update action.yml to build locally
run: | run: |
sed -i 's/.*image\:.*/ image\: \"Dockerfile\"/' action.yml sed -i 's/.*image\:.*/ image\: \"Dockerfile\"/' action.yml
cat action.yml cat action.yml
- name: Get sample PKGBUILD - name: Get sample package
run: wget https://github.com/${{ github.repository_owner }}/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD run: |
# Spotify 1:1.2.79.427-1
mkdir spotify
pushd spotify
wget https://github.com/christian-heusel/aur/raw/f12a03c830a3d4a5c16de561bf411eec55d0798c/spotify/PKGBUILD
wget https://github.com/christian-heusel/aur/raw/f12a03c830a3d4a5c16de561bf411eec55d0798c/spotify/.SRCINFO
wget https://github.com/christian-heusel/aur/raw/f12a03c830a3d4a5c16de561bf411eec55d0798c/spotify/LICENSE
wget https://github.com/christian-heusel/aur/raw/f12a03c830a3d4a5c16de561bf411eec55d0798c/spotify/spotify.protocol
wget https://github.com/christian-heusel/aur/raw/f12a03c830a3d4a5c16de561bf411eec55d0798c/spotify/spotify.sh
popd
- name: Running test - name: Running test
uses: ./ uses: ./
with: with:
pkgver: '0.4.26'
pkgrel: 2 pkgrel: 2
updpkgsums: true updpkgsums: true
srcinfo: true srcinfo: true
path: 'spotify'
pgpkeys: '5384CE82BA52C83A'
- name: Show diff - name: Show diff
run: | run: |
ls -la ls -la
git diff PKGBUILD git diff
git diff .SRCINFO
publish: publish:
name: Publish OCI image name: Publish OCI image
needs: pretest needs: pretest
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
packages: write
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Log in to ghcr.io - name: Log in to ghcr.io
uses: redhat-actions/podman-login@v1 uses: redhat-actions/podman-login@v1
@@ -98,7 +108,7 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get sample PKGBUILD - name: Get sample PKGBUILD
run: wget https://github.com/${{ github.repository_owner }}/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD run: wget https://github.com/${{ github.repository_owner }}/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
@@ -126,22 +136,23 @@ jobs:
- name: Show diff - name: Show diff
run: | run: |
ls -la ls -la
git diff PKGBUILD git diff
git diff .SRCINFO
release: release:
name: Release name: Release
runs-on: ubuntu-latest
needs: test needs: test
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
permissions:
contents: write
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get branch/tag names - name: Get branch/tag names
id: branch-name id: branch-name
uses: tj-actions/branch-names@v8 uses: tj-actions/branch-names@v9
with: with:
strip_tag_prefix: "v" strip_tag_prefix: "v"
+1
View File
@@ -0,0 +1 @@
.idea
+27 -1
View File
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [3.0.0] - 2026-01-16
### Changed
- Replace paru with yay - by @dcelasun
## [2.4.0] - 2025-06-01
### Added
- Loading PGP Key support - by @dcelasun
## [2.3.0] - 2025-05-27
### Added
- Copy all package files, not just PKGBUILD - by @dcelasun
- Multilib support - by @dcelasun
### Fixed
- Keryring is not updated - by @cilki
## [2.2.1] - 2024-02-19 ## [2.2.1] - 2024-02-19
### Fixed ### Fixed
@@ -104,7 +127,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Initial release - Initial release
[Unreleased]: https://github.com/hapakaien/archlinux-package-action/compare/v2.2.0...HEAD [Unreleased]: https://github.com/hapakaien/archlinux-package-action/compare/v2.4.0...HEAD
[2.4.0]: https://github.com/hapakaien/archlinux-package-action/compare/v2.3.0...v2.4.0
[2.3.0]: https://github.com/hapakaien/archlinux-package-action/compare/v2.2.1...v2.3.0
[2.2.1]: https://github.com/hapakaien/archlinux-package-action/compare/v2.2.0...v2.2.1
[2.2.0]: https://github.com/hapakaien/archlinux-package-action/compare/v2.1.1...v2.2.0 [2.2.0]: https://github.com/hapakaien/archlinux-package-action/compare/v2.1.1...v2.2.0
[2.1.1]: https://github.com/hapakaien/archlinux-package-action/compare/v2.1.0...v2.1.1 [2.1.1]: https://github.com/hapakaien/archlinux-package-action/compare/v2.1.0...v2.1.1
[2.1.0]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.3...v2.1.0 [2.1.0]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.3...v2.1.0
+4 -4
View File
@@ -1,5 +1,5 @@
# Base image # Base image
FROM docker.io/library/archlinux:base-devel FROM docker.io/library/archlinux:multilib-devel
# Install dependencies # Install dependencies
RUN pacman -Syu --needed --noconfirm pacman-contrib namcap git RUN pacman -Syu --needed --noconfirm pacman-contrib namcap git
@@ -10,9 +10,9 @@ RUN useradd -m builder && \
WORKDIR /home/builder WORKDIR /home/builder
USER builder USER builder
# Install paru # Install yay
RUN git clone https://aur.archlinux.org/paru-bin.git RUN git clone https://aur.archlinux.org/yay-bin.git
RUN cd paru-bin && makepkg -si --noconfirm RUN cd yay-bin && makepkg -si --noconfirm
# Copy files # Copy files
COPY LICENSE README.md / COPY LICENSE README.md /
+4 -2
View File
@@ -22,7 +22,7 @@ Here's what this action can do:
Following inputs can be used as `step.with` keys Following inputs can be used as `step.with` keys
| Name | Type | Default | Required | Description | | Name | Type | Default | Required | Description |
| -------------------------- | ------- | ------------------ | -------- | -------------------------------------------------------------------------------- | |----------------------------|---------|-------------------------------|----------|----------------------------------------------------------------------------------|
| `path` | String | | `false` | Path where PKGBUILD is located. This path always located under $GITHUB_WORKSPACE | | `path` | String | | `false` | Path where PKGBUILD is located. This path always located under $GITHUB_WORKSPACE |
| `pkgver` | String | | `false` | Update `pkgver` on your PKGBUILD | | `pkgver` | String | | `false` | Update `pkgver` on your PKGBUILD |
| `pkgrel` | Integer | | `false` | Update `pkgrel` on your PKGBUILD | | `pkgrel` | Integer | | `false` | Update `pkgrel` on your PKGBUILD |
@@ -30,8 +30,10 @@ Following inputs can be used as `step.with` keys
| `srcinfo` | Boolean | `false` | `false` | Generate new .SRCINFO | | `srcinfo` | Boolean | `false` | `false` | Generate new .SRCINFO |
| `namcap` | Boolean | `true` | `false` | Validate PKGBUILD | | `namcap` | Boolean | `true` | `false` | Validate PKGBUILD |
| `flags` | String | `-cfs --noconfirm` | `false` | Flags after `makepkg` command. Leave this empty will disable this command. | | `flags` | String | `-cfs --noconfirm` | `false` | Flags after `makepkg` command. Leave this empty will disable this command. |
| `aur` | Boolean | `false` | `false` | Resolve dependencies using paru | | `aur` | Boolean | `false` | `false` | Resolve dependencies using yay |
| `update_archlinux_keyring` | Boolean | `true` | `false` | Update the archlinux keyring | | `update_archlinux_keyring` | Boolean | `true` | `false` | Update the archlinux keyring |
| `pgpkeys` | String | | `false` | Comma-separated PGP public keys to be loaded before calling makepkg. |
| `pgpkeyserver` | String | `hkps://keyserver.ubuntu.com` | `false` | PGP key server address. |
### Examples ### Examples
+14 -4
View File
@@ -36,17 +36,25 @@ inputs:
default: 'true' default: 'true'
required: false required: false
aur: aur:
description: 'Resolve dependencies using paru' description: 'Resolve dependencies using yay'
default: 'false' default: 'false'
required: false required: false
update_archlinux_keyring: archlinux_keyring:
description: 'Update archlinux-keyring' description: 'Update archlinux-keyring'
default: 'true' default: 'true'
required: false required: false
pgpkeys:
description: 'Comma-separated pgp keys'
default: ''
required: false
pgpkeyserver:
description: 'PGP key server'
default: 'hkps://keyserver.ubuntu.com'
required: false
runs: runs:
using: 'docker' using: 'docker'
image: 'docker://ghcr.io/heyhusen/archlinux-package-action:2' image: Dockerfile
args: args:
- ${{ inputs.path }} - ${{ inputs.path }}
- ${{ inputs.pkgver }} - ${{ inputs.pkgver }}
@@ -56,4 +64,6 @@ runs:
- ${{ inputs.flags }} - ${{ inputs.flags }}
- ${{ inputs.namcap }} - ${{ inputs.namcap }}
- ${{ inputs.aur }} - ${{ inputs.aur }}
- ${{ inputs.update_archlinux_keyring }} - ${{ inputs.archlinux_keyring }}
- ${{ inputs.pgpkeys }}
- ${{ inputs.pgpkeyserver }}
+32 -13
View File
@@ -2,21 +2,38 @@
set -e set -e
# Set path # Set path
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
HOME=/home/builder HOME=/home/builder
echo "::group::Copying files from $WORKPATH to $HOME/gh-action" echo "::group::Copying files from $GITHUB_WORKSPACE to $HOME/gh-action"
# Set path permision # Set path permision
cd $HOME cd $HOME
mkdir gh-action mkdir gh-action
cd gh-action cd gh-action
cp -rfv "$GITHUB_WORKSPACE"/.git ./
cp -fv "$WORKPATH"/PKGBUILD ./ if [[ -n $INPUT_PGPKEYS ]]; then
echo "::group::Loading PGP keys"
for key in ${INPUT_PGPKEYS//,/$'\n'}; do
gpg --keyserver $INPUT_PGPKEYSERVER --recv-keys $key
done
echo "::endgroup::"
fi
# If there is a custom path, we need to copy the whole repository
# because we run "git diff" at several stages and without the entire
# tree the output will be incorrect.
if [[ -n $INPUT_PATH ]]; then
cp -rTfv "$GITHUB_WORKSPACE"/ ./
cd $INPUT_PATH
else
# Without a custom path though, we can just grab the .git directory and the PKGBUILD.
cp -rfv "$GITHUB_WORKSPACE"/.git ./
cp -fv "$GITHUB_WORKSPACE"/PKGBUILD ./
fi
echo "::endgroup::" echo "::endgroup::"
# Update archlinux-keyring # Update archlinux-keyring
if [[ $INPUT_ARCHLINUX_KEYRING == true ]]; then if [[ $INPUT_ARCHLINUX_KEYRING == true ]]; then
echo "::group::Updating archlinux-keyring" echo "::group::Updating archlinux-keyring"
pacman -S archlinux-keyring sudo pacman -Syu --noconfirm archlinux-keyring
echo "::endgroup::" echo "::endgroup::"
fi fi
@@ -24,15 +41,15 @@ fi
if [[ -n $INPUT_PKGVER ]]; then if [[ -n $INPUT_PKGVER ]]; then
echo "::group::Updating pkgver on PKGBUILD" echo "::group::Updating pkgver on PKGBUILD"
sed -i "s:^pkgver=.*$:pkgver=$INPUT_PKGVER:g" PKGBUILD sed -i "s:^pkgver=.*$:pkgver=$INPUT_PKGVER:g" PKGBUILD
git diff PKGBUILD git --no-pager diff PKGBUILD
echo "::endgroup::" echo "::endgroup::"
fi fi
# Update pkgver # Update pkgrel
if [[ -n $INPUT_PKGREL ]]; then if [[ -n $INPUT_PKGREL ]]; then
echo "::group::Updating pkgrel on PKGBUILD" echo "::group::Updating pkgrel on PKGBUILD"
sed -i "s:^pkgrel=.*$:pkgrel=$INPUT_PKGREL:g" PKGBUILD sed -i "s:^pkgrel=.*$:pkgrel=$INPUT_PKGREL:g" PKGBUILD
git diff PKGBUILD git --no-pager diff PKGBUILD
echo "::endgroup::" echo "::endgroup::"
fi fi
@@ -40,7 +57,7 @@ fi
if [[ $INPUT_UPDPKGSUMS == true ]]; then if [[ $INPUT_UPDPKGSUMS == true ]]; then
echo "::group::Updating checksums on PKGBUILD" echo "::group::Updating checksums on PKGBUILD"
updpkgsums updpkgsums
git diff PKGBUILD git --no-pager diff PKGBUILD
echo "::endgroup::" echo "::endgroup::"
fi fi
@@ -48,7 +65,7 @@ fi
if [[ $INPUT_SRCINFO == true ]]; then if [[ $INPUT_SRCINFO == true ]]; then
echo "::group::Generating new .SRCINFO based on PKGBUILD" echo "::group::Generating new .SRCINFO based on PKGBUILD"
makepkg --printsrcinfo >.SRCINFO makepkg --printsrcinfo >.SRCINFO
git diff .SRCINFO git --no-pager diff .SRCINFO
echo "::endgroup::" echo "::endgroup::"
fi fi
@@ -59,11 +76,11 @@ if [[ $INPUT_NAMCAP == true ]]; then
echo "::endgroup::" echo "::endgroup::"
fi fi
# Install depends using paru from aur # Install depends using yay from aur
if [[ $INPUT_AUR == true ]]; then if [[ $INPUT_AUR == true ]]; then
echo "::group::Installing depends using paru" echo "::group::Installing depends using yay"
source PKGBUILD source PKGBUILD
paru -Syu --removemake --needed --noconfirm "${depends[@]}" "${makedepends[@]}" yay -Syu --removemake --needed --noconfirm "${depends[@]}" "${makedepends[@]}"
echo "::endgroup::" echo "::endgroup::"
fi fi
@@ -74,6 +91,8 @@ if [[ -n $INPUT_FLAGS ]]; then
echo "::endgroup::" echo "::endgroup::"
fi fi
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
WORKPATH=${WORKPATH%/} # Remove trailing slash if $INPUT_PATH is empty
echo "::group::Copying files from $HOME/gh-action to $WORKPATH" echo "::group::Copying files from $HOME/gh-action to $WORKPATH"
sudo cp -fv PKGBUILD "$WORKPATH"/PKGBUILD sudo cp -fv PKGBUILD "$WORKPATH"/PKGBUILD
if [[ -e .SRCINFO ]]; then if [[ -e .SRCINFO ]]; then