Compare commits

...

35 Commits

Author SHA1 Message Date
Husen 27228fcea0 Merge pull request #63 from heyhusen/docs/readme-v3
CI / Test (with Dockerfile) (push) Failing after 1m5s
CI / Publish OCI image (push) Has been cancelled
CI / Test (with prebuilt OCI Image) (push) Has been cancelled
CI / Release (push) Has been cancelled
docs: change action version v2 to v3
2026-01-16 23:15:02 +07:00
Husen 33fcb33ba6 docs: change action version v2 to v3
Signed-off-by: Husen <hi@husen.id>
2026-01-16 23:12:55 +07:00
Husen 150a5303df Merge pull request #62 from heyhusen/release/v3.0.0
chore: release v3.0.0
2026-01-16 23:01:54 +07:00
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 121 additions and 52 deletions
+1 -1
View File
@@ -4,4 +4,4 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
interval: "weekly"
+25 -14
View File
@@ -17,39 +17,49 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Update action.yml to build locally
run: |
sed -i 's/.*image\:.*/ image\: \"Dockerfile\"/' action.yml
cat action.yml
- name: Get sample PKGBUILD
run: wget https://github.com/${{ github.repository_owner }}/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
- name: Get sample package
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
uses: ./
with:
pkgver: '0.4.26'
pkgrel: 2
updpkgsums: true
srcinfo: true
path: 'spotify'
pgpkeys: '5384CE82BA52C83A'
- name: Show diff
run: |
ls -la
git diff PKGBUILD
git diff .SRCINFO
git diff
publish:
name: Publish OCI image
needs: pretest
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Log in to ghcr.io
uses: redhat-actions/podman-login@v1
@@ -98,7 +108,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Get sample PKGBUILD
run: wget https://github.com/${{ github.repository_owner }}/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
@@ -126,22 +136,23 @@ jobs:
- name: Show diff
run: |
ls -la
git diff PKGBUILD
git diff .SRCINFO
git diff
release:
name: Release
runs-on: ubuntu-latest
needs: test
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Get branch/tag names
id: branch-name
uses: tj-actions/branch-names@v8
uses: tj-actions/branch-names@v9
with:
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]
## [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
### Fixed
@@ -104,7 +127,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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.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
+4 -4
View File
@@ -1,5 +1,5 @@
# Base image
FROM docker.io/library/archlinux:base-devel
FROM docker.io/library/archlinux:multilib-devel
# Install dependencies
RUN pacman -Syu --needed --noconfirm pacman-contrib namcap git
@@ -10,9 +10,9 @@ RUN useradd -m builder && \
WORKDIR /home/builder
USER builder
# Install paru
RUN git clone https://aur.archlinux.org/paru-bin.git
RUN cd paru-bin && makepkg -si --noconfirm
# Install yay
RUN git clone https://aur.archlinux.org/yay-bin.git
RUN cd yay-bin && makepkg -si --noconfirm
# Copy files
COPY LICENSE README.md /
+17 -15
View File
@@ -21,17 +21,19 @@ Here's what this action can do:
Following inputs can be used as `step.with` keys
| Name | Type | Default | Required | Description |
| -------------------------- | ------- | ------------------ | -------- | -------------------------------------------------------------------------------- |
| `path` | String | | `false` | Path where PKGBUILD is located. This path always located under $GITHUB_WORKSPACE |
| `pkgver` | String | | `false` | Update `pkgver` on your PKGBUILD |
| `pkgrel` | Integer | | `false` | Update `pkgrel` on your PKGBUILD |
| `updpkgsums` | Boolean | `false` | `false` | Update checksums on your PKGBUILD |
| `srcinfo` | Boolean | `false` | `false` | Generate new .SRCINFO |
| `namcap` | Boolean | `true` | `false` | Validate PKGBUILD |
| `flags` | String | `-cfs --noconfirm` | `false` | Flags after `makepkg` command. Leave this empty will disable this command. |
| `aur` | Boolean | `false` | `false` | Resolve dependencies using paru |
| `update_archlinux_keyring` | Boolean | `true` | `false` | Update the archlinux keyring |
| Name | Type | Default | Required | Description |
|----------------------------|---------|-------------------------------|----------|----------------------------------------------------------------------------------|
| `path` | String | | `false` | Path where PKGBUILD is located. This path always located under $GITHUB_WORKSPACE |
| `pkgver` | String | | `false` | Update `pkgver` on your PKGBUILD |
| `pkgrel` | Integer | | `false` | Update `pkgrel` on your PKGBUILD |
| `updpkgsums` | Boolean | `false` | `false` | Update checksums on your PKGBUILD |
| `srcinfo` | Boolean | `false` | `false` | Generate new .SRCINFO |
| `namcap` | Boolean | `true` | `false` | Validate PKGBUILD |
| `flags` | String | `-cfs --noconfirm` | `false` | Flags after `makepkg` command. Leave this empty will disable this command. |
| `aur` | Boolean | `false` | `false` | Resolve dependencies using yay |
| `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
@@ -54,7 +56,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: heyhusen/archlinux-package-action@v2
uses: heyhusen/archlinux-package-action@v3
```
#### 2. Only generate .SRCINFO
@@ -74,7 +76,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: heyhusen/archlinux-package-action@v2
uses: heyhusen/archlinux-package-action@v3
with:
flags: ''
namcap: false
@@ -98,7 +100,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: heyhusen/archlinux-package-action@v2
uses: heyhusen/archlinux-package-action@v3
with:
flags: ''
namcap: false
@@ -122,7 +124,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: heyhusen/archlinux-package-action@v2
uses: heyhusen/archlinux-package-action@v3
with:
path: package
flags: '-si --noconfirm'
+14 -4
View File
@@ -36,17 +36,25 @@ inputs:
default: 'true'
required: false
aur:
description: 'Resolve dependencies using paru'
description: 'Resolve dependencies using yay'
default: 'false'
required: false
update_archlinux_keyring:
archlinux_keyring:
description: 'Update archlinux-keyring'
default: 'true'
required: false
pgpkeys:
description: 'Comma-separated pgp keys'
default: ''
required: false
pgpkeyserver:
description: 'PGP key server'
default: 'hkps://keyserver.ubuntu.com'
required: false
runs:
using: 'docker'
image: 'docker://ghcr.io/heyhusen/archlinux-package-action:2'
image: Dockerfile
args:
- ${{ inputs.path }}
- ${{ inputs.pkgver }}
@@ -56,4 +64,6 @@ runs:
- ${{ inputs.flags }}
- ${{ inputs.namcap }}
- ${{ inputs.aur }}
- ${{ inputs.update_archlinux_keyring }}
- ${{ inputs.archlinux_keyring }}
- ${{ inputs.pgpkeys }}
- ${{ inputs.pgpkeyserver }}
+32 -13
View File
@@ -2,21 +2,38 @@
set -e
# Set path
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
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
cd $HOME
mkdir 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::"
# Update archlinux-keyring
if [[ $INPUT_ARCHLINUX_KEYRING == true ]]; then
echo "::group::Updating archlinux-keyring"
pacman -S archlinux-keyring
sudo pacman -Syu --noconfirm archlinux-keyring
echo "::endgroup::"
fi
@@ -24,15 +41,15 @@ fi
if [[ -n $INPUT_PKGVER ]]; then
echo "::group::Updating pkgver on PKGBUILD"
sed -i "s:^pkgver=.*$:pkgver=$INPUT_PKGVER:g" PKGBUILD
git diff PKGBUILD
git --no-pager diff PKGBUILD
echo "::endgroup::"
fi
# Update pkgver
# Update pkgrel
if [[ -n $INPUT_PKGREL ]]; then
echo "::group::Updating pkgrel on PKGBUILD"
sed -i "s:^pkgrel=.*$:pkgrel=$INPUT_PKGREL:g" PKGBUILD
git diff PKGBUILD
git --no-pager diff PKGBUILD
echo "::endgroup::"
fi
@@ -40,7 +57,7 @@ fi
if [[ $INPUT_UPDPKGSUMS == true ]]; then
echo "::group::Updating checksums on PKGBUILD"
updpkgsums
git diff PKGBUILD
git --no-pager diff PKGBUILD
echo "::endgroup::"
fi
@@ -48,7 +65,7 @@ fi
if [[ $INPUT_SRCINFO == true ]]; then
echo "::group::Generating new .SRCINFO based on PKGBUILD"
makepkg --printsrcinfo >.SRCINFO
git diff .SRCINFO
git --no-pager diff .SRCINFO
echo "::endgroup::"
fi
@@ -59,11 +76,11 @@ if [[ $INPUT_NAMCAP == true ]]; then
echo "::endgroup::"
fi
# Install depends using paru from aur
# Install depends using yay from aur
if [[ $INPUT_AUR == true ]]; then
echo "::group::Installing depends using paru"
echo "::group::Installing depends using yay"
source PKGBUILD
paru -Syu --removemake --needed --noconfirm "${depends[@]}" "${makedepends[@]}"
yay -Syu --removemake --needed --noconfirm "${depends[@]}" "${makedepends[@]}"
echo "::endgroup::"
fi
@@ -74,6 +91,8 @@ if [[ -n $INPUT_FLAGS ]]; then
echo "::endgroup::"
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"
sudo cp -fv PKGBUILD "$WORKPATH"/PKGBUILD
if [[ -e .SRCINFO ]]; then