Compare commits
78
Commits
v1.1.1
...
08dba55302
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08dba55302 | ||
|
|
bed26d7507 | ||
|
|
8fa9eb7023 | ||
|
|
f87823ed79 | ||
|
|
f74e99ad3c | ||
|
|
5f746d9353 | ||
|
|
2afeaa64ad | ||
|
|
adae81c2d0 | ||
|
|
04303ce8da | ||
|
|
89fcd71e20 | ||
|
|
f5ada5953b | ||
|
|
c53aa59f58 | ||
|
|
5b75404b8d | ||
|
|
ffd91d234b | ||
|
|
602fae3c61 | ||
|
|
6e5fdcc377 | ||
|
|
f0c37ce87f | ||
|
|
22a870372c | ||
|
|
ee5d6e807d | ||
|
|
a93ac07315 | ||
|
|
cfcd11665c | ||
|
|
4076a2bcdb | ||
|
|
4de74c453f | ||
|
|
f3d81c81b8 | ||
|
|
e573cc1655 | ||
|
|
e58b416119 | ||
|
|
3f13112064 | ||
|
|
8a82ee672c | ||
|
|
20d8479ebc | ||
|
|
9fd24ca405 | ||
|
|
f7376aba0b | ||
|
|
5e383b10b5 | ||
|
|
8f5e879913 | ||
|
|
47fa19da38 | ||
|
|
fd1dbe5048 | ||
|
|
c058d80ac5 | ||
|
|
aa9be96cf9 | ||
|
|
bc32e723f3 | ||
|
|
f699bb5cff | ||
|
|
0f306e414a | ||
|
|
f9ff68181b | ||
|
|
94f928c5df | ||
|
|
099605a64c | ||
|
|
d3aea41d02 | ||
|
|
618a0ba862 | ||
|
|
c9118ad67a | ||
|
|
2d9dafa60e | ||
|
|
ae967066cb | ||
|
|
cf8509924b | ||
|
|
1a92d6efa7 | ||
|
|
8dc2e4d3e8 | ||
|
|
37bda140be | ||
|
|
f710e16a35 | ||
|
|
7118f1dd24 | ||
|
|
fda333bd87 | ||
|
|
80d76aa524 | ||
|
|
77f37ad6f1 | ||
|
|
c3e3ab0325 | ||
|
|
b257397a15 | ||
|
|
a4f0a491d0 | ||
|
|
eadb0293c0 | ||
|
|
9400d7c75d | ||
|
|
c121cf29d7 | ||
|
|
265fe9f569 | ||
|
|
66d669bebf | ||
|
|
e346bea956 | ||
|
|
6ade55c2b2 | ||
|
|
8455f15e27 | ||
|
|
594be7f44a | ||
|
|
0a161adbcd | ||
|
|
94c0a400c6 | ||
|
|
cd2e2d62b6 | ||
|
|
4da3a1b0cc | ||
|
|
7926f4fb39 | ||
|
|
863b0d9617 | ||
|
|
360be955b0 | ||
|
|
6443f058c1 | ||
|
|
c05034041f |
@@ -4,4 +4,4 @@ updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
interval: "weekly"
|
||||
|
||||
+62
-39
@@ -17,43 +17,60 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.5
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- 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/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
|
||||
|
||||
- name: Get sample package
|
||||
run: |
|
||||
# Spotify 1:1.2.63.394-1
|
||||
mkdir spotify
|
||||
pushd spotify
|
||||
wget https://github.com/christian-heusel/aur/raw/5032e51a0b493cb7149264ec27a761ac85c81933/spotify/PKGBUILD
|
||||
wget https://github.com/christian-heusel/aur/raw/5032e51a0b493cb7149264ec27a761ac85c81933/spotify/.SRCINFO
|
||||
wget https://github.com/christian-heusel/aur/raw/5032e51a0b493cb7149264ec27a761ac85c81933/spotify/LICENSE
|
||||
wget https://github.com/christian-heusel/aur/raw/5032e51a0b493cb7149264ec27a761ac85c81933/spotify/spotify.protocol
|
||||
wget https://github.com/christian-heusel/aur/raw/5032e51a0b493cb7149264ec27a761ac85c81933/spotify/spotify.sh
|
||||
popd
|
||||
- name: Running test
|
||||
uses: ./
|
||||
with:
|
||||
pkgver: '0.4.26'
|
||||
pkgrel: 2
|
||||
updpkgsums: true
|
||||
srcinfo: true
|
||||
path: 'spotify'
|
||||
pgpkeys: 'C85668DF69375001'
|
||||
|
||||
- name: Show diff
|
||||
run: |
|
||||
ls -la
|
||||
git diff PKGBUILD
|
||||
git diff .SRCINFO
|
||||
git diff
|
||||
|
||||
publish:
|
||||
name: Publish container image
|
||||
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@v2.3.5
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: OCI meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
- name: Log in to ghcr.io
|
||||
uses: redhat-actions/podman-login@v1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: OCI metadata
|
||||
id: metadata
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ghcr.io/${{ github.repository }}
|
||||
tags: |
|
||||
@@ -64,43 +81,48 @@ jobs:
|
||||
type=semver,pattern={{major}}
|
||||
type=sha
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@v1
|
||||
- name: Build image
|
||||
id: build
|
||||
uses: redhat-actions/buildah-build@v2
|
||||
with:
|
||||
tags: ${{ steps.metadata.outputs.tags }}
|
||||
labels: ${{ steps.metadata.outputs.labels }}
|
||||
containerfiles: |
|
||||
./Dockerfile
|
||||
extra-args: |
|
||||
--pull
|
||||
|
||||
- name: Push to ghcr.io
|
||||
uses: redhat-actions/push-to-registry@v2
|
||||
with:
|
||||
image: ${{ steps.build.outputs.image }}
|
||||
tags: ${{ steps.build.outputs.tags }}
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
extra-args: |
|
||||
--disable-content-trust
|
||||
|
||||
test:
|
||||
name: Test (with prebuilt Container Image)
|
||||
name: Test (with prebuilt OCI Image)
|
||||
needs: publish
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.5
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Get sample PKGBUILD
|
||||
run: wget https://github.com/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
|
||||
run: wget https://github.com/${{ github.repository_owner }}/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
|
||||
|
||||
- name: Update action.yml to use edge tagged container image
|
||||
if: github.ref == 'refs/heads/main'
|
||||
run: |
|
||||
sed -i 's/.*image\:.*/ image\: \"docker\:\/\/ghcr.io\/${{ github.repository_owner }}\/${{ github.event.repository.name }}\:edge\"/' action.yml
|
||||
REPOSITORY_OWNER=${{ github.repository_owner }}
|
||||
REPOSITORY_OWNER=$(echo $REPOSITORY_OWNER | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
REPOSITORY_NAME=${{ github.event.repository.name }}
|
||||
REPOSITORY_NAME=$(echo $REPOSITORY_NAME | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
sed -i "s/.*image\:.*/ image\: \"docker\:\/\/ghcr.io\/${REPOSITORY_OWNER}\/${REPOSITORY_NAME}\:edge\"/" action.yml
|
||||
cat action.yml
|
||||
|
||||
- name: Running test
|
||||
@@ -114,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@v2.3.5
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Get branch/tag names
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@v5
|
||||
uses: tj-actions/branch-names@v9
|
||||
with:
|
||||
strip_tag_prefix: "v"
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
.idea
|
||||
+89
-7
@@ -7,6 +7,78 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [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
|
||||
|
||||
- Can't pull docker image, so sorry guys
|
||||
|
||||
## [2.2.0] - 2022-08-05
|
||||
|
||||
### Added
|
||||
|
||||
- Option to update archlinux-keyring - by @ReenigneArcher
|
||||
- Make repository name lowercase - by @ReenigneArcher
|
||||
|
||||
## [2.1.1] - 2022-05-15
|
||||
|
||||
### Fixed
|
||||
|
||||
- Wrong conditional using paru
|
||||
|
||||
## [2.1.0] - 2022-05-05
|
||||
|
||||
### Added
|
||||
|
||||
- Option to resolve deps using paru (from AUR) - by @kamack38
|
||||
|
||||
## [2.0.3] - 2022-02-02
|
||||
|
||||
### Fixed
|
||||
|
||||
- Copied PKGBUILD file has wrong permission
|
||||
|
||||
## [2.0.2] - 2022-02-02
|
||||
|
||||
### Fixed
|
||||
|
||||
- CI can not read changelog
|
||||
|
||||
## [2.0.1] - 2022-02-02
|
||||
|
||||
### Fixed
|
||||
|
||||
- Wrong OCI image tag at action.yml
|
||||
|
||||
## [2.0.0] - 2022-02-02
|
||||
|
||||
### Changed
|
||||
|
||||
- Move repo from hapakaien to hapakaien
|
||||
- `builder` user is added to sudoers directly instead of via the wheel group
|
||||
- Replace Docker with Buildah in CI
|
||||
|
||||
### Fixed
|
||||
|
||||
- `builder` is not in the sudoers file
|
||||
|
||||
## [1.1.1] - 2021-10-26
|
||||
|
||||
### Fixed
|
||||
@@ -49,10 +121,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
- Initial release
|
||||
|
||||
[Unreleased]: https://github.com/datakrama/archlinux-package-action/compare/v1.1.1...HEAD
|
||||
[1.1.1]: https://github.com/datakrama/archlinux-package-action/compare/v1.1.0...v1.1.1
|
||||
[1.1.0]: https://github.com/datakrama/archlinux-package-action/compare/v1.0.3...v1.1.0
|
||||
[1.0.3]: https://github.com/datakrama/archlinux-package-action/compare/v1.0.2...v1.0.3
|
||||
[1.0.2]: https://github.com/datakrama/archlinux-package-action/compare/v1.0.1...v1.0.2
|
||||
[1.0.1]: https://github.com/datakrama/archlinux-package-action/compare/v1.0.0...v1.0.1
|
||||
[1.0.0]: https://github.com/datakrama/archlinux-package-action/releases/tag/v1.0.0
|
||||
[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
|
||||
[2.0.3]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.2...v2.0.3
|
||||
[2.0.2]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.1...v2.0.2
|
||||
[2.0.1]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.0...v2.0.1
|
||||
[2.0.0]: https://github.com/hapakaien/archlinux-package-action/compare/v1.1.1...v2.0.0
|
||||
[1.1.1]: https://github.com/hapakaien/archlinux-package-action/compare/v1.1.0...v1.1.1
|
||||
[1.1.0]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.3...v1.1.0
|
||||
[1.0.3]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.2...v1.0.3
|
||||
[1.0.2]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.1...v1.0.2
|
||||
[1.0.1]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.0...v1.0.1
|
||||
[1.0.0]: https://github.com/hapakaien/archlinux-package-action/releases/tag/v1.0.0
|
||||
|
||||
+9
-6
@@ -1,15 +1,18 @@
|
||||
# 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
|
||||
|
||||
# Setup user
|
||||
RUN useradd --create-home --shell /bin/bash builder && \
|
||||
passwd --delete builder && \
|
||||
chown -vR builder:builder /home/builder && \
|
||||
usermod -aG wheel builder && \
|
||||
echo 'wheel ALL=(ALL:ALL) ALL' >> /etc/sudoers
|
||||
RUN useradd -m builder && \
|
||||
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||
WORKDIR /home/builder
|
||||
USER builder
|
||||
|
||||
# Install paru
|
||||
RUN git clone https://aur.archlinux.org/paru-bin.git
|
||||
RUN cd paru-bin && makepkg -si --noconfirm
|
||||
|
||||
# Copy files
|
||||
COPY LICENSE README.md /
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Arch Linux's package tools action
|
||||
|
||||
[](https://github.com/datakrama/archlinux-package-action/actions) [](https://github.com/datakrama/archlinux-package-action/releases) [](./LICENSE)
|
||||
[](https://github.com/heyhusen/archlinux-package-action/actions) [](https://github.com/heyhusen/archlinux-package-action/releases) [](./LICENSE)
|
||||
|
||||
This action allows running tools needed for creating Arch Linux (and AUR) package.
|
||||
This action allows running tools needed for creating Arch Linux (and AUR) package.
|
||||
Here's what this action can do:
|
||||
|
||||
- Update `pkgver`, `pkgrel`, or checksums on PKGBUILD file
|
||||
@@ -21,15 +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. |
|
||||
| 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 |
|
||||
| `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
|
||||
|
||||
@@ -52,7 +56,7 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Validate package
|
||||
uses: datakrama/archlinux-package-action@v1
|
||||
uses: heyhusen/archlinux-package-action@v2
|
||||
```
|
||||
|
||||
#### 2. Only generate .SRCINFO
|
||||
@@ -72,7 +76,7 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Validate package
|
||||
uses: datakrama/archlinux-package-action@v1
|
||||
uses: heyhusen/archlinux-package-action@v2
|
||||
with:
|
||||
flags: ''
|
||||
namcap: false
|
||||
@@ -96,7 +100,7 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Validate package
|
||||
uses: datakrama/archlinux-package-action@v1
|
||||
uses: heyhusen/archlinux-package-action@v2
|
||||
with:
|
||||
flags: ''
|
||||
namcap: false
|
||||
@@ -120,7 +124,7 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Validate package
|
||||
uses: datakrama/archlinux-package-action@v1
|
||||
uses: heyhusen/archlinux-package-action@v2
|
||||
with:
|
||||
path: package
|
||||
flags: '-si --noconfirm'
|
||||
|
||||
+22
-2
@@ -1,7 +1,7 @@
|
||||
# https://help.github.com/en/articles/metadata-syntax-for-github-actions
|
||||
name: "Arch Linux's package action"
|
||||
description: "GitHub Action to run Arch Linux's package tools"
|
||||
author: 'datakrama'
|
||||
author: 'heyhusen'
|
||||
branding:
|
||||
icon: 'package'
|
||||
color: 'blue'
|
||||
@@ -35,10 +35,26 @@ inputs:
|
||||
description: 'Validate package with namcap'
|
||||
default: 'true'
|
||||
required: false
|
||||
aur:
|
||||
description: 'Resolve dependencies using paru'
|
||||
default: 'false'
|
||||
required: false
|
||||
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/datakrama/archlinux-package-action:1'
|
||||
image: Dockerfile
|
||||
args:
|
||||
- ${{ inputs.path }}
|
||||
- ${{ inputs.pkgver }}
|
||||
@@ -47,3 +63,7 @@ runs:
|
||||
- ${{ inputs.srcinfo }}
|
||||
- ${{ inputs.flags }}
|
||||
- ${{ inputs.namcap }}
|
||||
- ${{ inputs.aur }}
|
||||
- ${{ inputs.archlinux_keyring }}
|
||||
- ${{ inputs.pgpkeys }}
|
||||
- ${{ inputs.pgpkeyserver }}
|
||||
|
||||
+57
-21
@@ -2,44 +2,70 @@
|
||||
set -e
|
||||
|
||||
# Set path
|
||||
echo "::group::Copying file from $WORKPATH to /tmp/gh-action"
|
||||
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
|
||||
HOME=/home/builder
|
||||
echo "::group::Copying files from $GITHUB_WORKSPACE to $HOME/gh-action"
|
||||
# Set path permision
|
||||
sudo -u builder mkdir /tmp/gh-action
|
||||
sudo -u builder cp -rfv "$GITHUB_WORKSPACE"/.git /tmp/gh-action/.git
|
||||
sudo -u builder cp -fv "$WORKPATH"/PKGBUILD /tmp/gh-action/PKGBUILD
|
||||
cd /tmp/gh-action
|
||||
cd $HOME
|
||||
mkdir gh-action
|
||||
cd gh-action
|
||||
|
||||
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"
|
||||
sudo pacman -Syu --noconfirm archlinux-keyring
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
# Update pkgver
|
||||
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
|
||||
|
||||
# Update checksums
|
||||
if [[ $INPUT_UPDPKGSUMS == true ]]; then
|
||||
echo "::group::Updating checksums on PKGBUILD"
|
||||
sudo -u builder updpkgsums
|
||||
git diff PKGBUILD
|
||||
updpkgsums
|
||||
git --no-pager diff PKGBUILD
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
# Generate .SRCINFO
|
||||
if [[ $INPUT_SRCINFO == true ]]; then
|
||||
echo "::group::Generating new .SRCINFO based on PKGBUILD"
|
||||
sudo -u builder makepkg --printsrcinfo > .SRCINFO
|
||||
git diff .SRCINFO
|
||||
makepkg --printsrcinfo >.SRCINFO
|
||||
git --no-pager diff .SRCINFO
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
@@ -50,16 +76,26 @@ if [[ $INPUT_NAMCAP == true ]]; then
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
# Run makepkg
|
||||
if [[ -n $INPUT_FLAGS ]]; then
|
||||
echo "::group::Running makepkg with flags"
|
||||
sudo -u builder makepkg $INPUT_FLAGS
|
||||
# Install depends using paru from aur
|
||||
if [[ $INPUT_AUR == true ]]; then
|
||||
echo "::group::Installing depends using paru"
|
||||
source PKGBUILD
|
||||
paru -Syu --removemake --needed --noconfirm "${depends[@]}" "${makedepends[@]}"
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
echo "::group::Copying files from /tmp/gh-action to $WORKPATH"
|
||||
cp -fv /tmp/gh-action/PKGBUILD "$WORKPATH"/PKGBUILD
|
||||
if [[ -e /tmp/gh-action/.SRCINFO ]]; then
|
||||
cp -fv /tmp/gh-action/.SRCINFO "$WORKPATH"/.SRCINFO
|
||||
# Run makepkg
|
||||
if [[ -n $INPUT_FLAGS ]]; then
|
||||
echo "::group::Running makepkg with flags"
|
||||
makepkg $INPUT_FLAGS
|
||||
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
|
||||
sudo cp -fv .SRCINFO "$WORKPATH"/.SRCINFO
|
||||
fi
|
||||
echo "::endgroup::"
|
||||
|
||||
Reference in New Issue
Block a user