Compare commits

...

32 Commits

Author SHA1 Message Date
Ahmad Husen 2d9dafa60e Merge pull request #22 from hapakaien/release/v2.1.1
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.1.1
2022-05-15 14:04:52 +07:00
Ahmad Husen ae967066cb chore: release v2.1.1 2022-05-15 14:03:00 +07:00
Ahmad Husen cf8509924b Merge pull request #21 from hapakaien/bugfix/conditional-bash-script
fix: wrong conditional using paru
2022-05-15 13:54:13 +07:00
Ahmad Husen 1a92d6efa7 fix: wrong conditional using paru 2022-05-15 13:51:00 +07:00
dependabot[bot] 8dc2e4d3e8 Merge pull request #20 from hapakaien/dependabot/github_actions/docker/metadata-action-4 2022-05-06 02:38:57 +00:00
dependabot[bot] 37bda140be chore(deps): bump docker/metadata-action from 3 to 4
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3 to 4.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md)
- [Commits](https://github.com/docker/metadata-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-05 20:27:31 +00:00
Ahmad Husen f710e16a35 Merge pull request #19 from hapakaien/release/v2.1.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.1.0
2022-05-05 23:08:55 +07:00
Ahmad Husen 7118f1dd24 chore: release v2.1.0 2022-05-05 23:07:01 +07:00
Ahmad Husen fda333bd87 Merge pull request #18 from kamack38/aur-deps
feat: 🎸 Add option to resolve deps using paru (from AUR)
2022-05-04 19:52:40 +07:00
kamack38 80d76aa524 style: 💄 Fix trailing space in README 2022-04-27 14:12:16 +02:00
kamack38 77f37ad6f1 docs: ✏️ Update docs 2022-04-27 14:10:39 +02:00
kamack38 c3e3ab0325 feat: 🎸 Add option to resolve deps using paru (from AUR) 2022-04-27 14:06:06 +02:00
dependabot[bot] b257397a15 Merge pull request #17 from hapakaien/dependabot/github_actions/actions/checkout-3 2022-03-02 11:24:41 +00:00
dependabot[bot] a4f0a491d0 chore(deps): bump actions/checkout from 2.4.0 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
- [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/v2.4.0...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 20:28:36 +00:00
Ahmad Husen eadb0293c0 Merge pull request #16 from hapakaien/release/v2.0.3
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.0.3
2022-02-02 15:15:02 +07:00
Ahmad Husen 9400d7c75d chore: release v2.0.3 2022-02-02 15:13:33 +07:00
Ahmad Husen c121cf29d7 Merge pull request #15 from hapakaien/bugfix/pkgbuild-permission
fix: wrong copied PKGBUILD permission
2022-02-02 15:09:47 +07:00
Ahmad Husen 265fe9f569 fix: wrong copied PKGBUILD permission 2022-02-02 15:08:12 +07:00
Ahmad Husen 66d669bebf Merge pull request #14 from hapakaien/v2
CI / Publish OCI image (push) Has been cancelled
CI / Test (with prebuilt OCI Image) (push) Has been cancelled
CI / Release (push) Has been cancelled
CI / Test (with Dockerfile) (push) Has been cancelled
chore: release v2.0.2
2022-02-02 12:06:30 +07:00
Ahmad Husen e346bea956 chore: release v2.0.2 2022-02-02 11:43:57 +07:00
Ahmad Husen 6ade55c2b2 Merge pull request #13 from hapakaien/v2
chore: release v2.0.1
2022-02-02 11:36:26 +07:00
Ahmad Husen 8455f15e27 chore: release v2.0.1 2022-02-02 11:34:30 +07:00
Ahmad Husen 594be7f44a Merge pull request #12 from hapakaien/hotfix/wrong-oci-tag
CI / Publish OCI image (push) Has been cancelled
CI / Test (with prebuilt OCI Image) (push) Has been cancelled
CI / Test (with Dockerfile) (push) Has been cancelled
CI / Release (push) Has been cancelled
fix: wrong oci image tag on action.yml
2022-02-02 11:33:13 +07:00
Ahmad Husen 0a161adbcd fix: wrong oci image tag on action.yml 2022-02-02 11:31:39 +07:00
Ahmad Husen 94c0a400c6 Merge pull request #11 from hapakaien/v2
chore: release v2.0.0
2022-02-02 11:21:48 +07:00
Ahmad Husen cd2e2d62b6 chore: release v2.0.0
CI / Publish OCI image (push) Has been cancelled
CI / Test (with Dockerfile) (push) Has been cancelled
CI / Test (with prebuilt OCI Image) (push) Has been cancelled
CI / Release (push) Has been cancelled
2022-02-02 11:19:55 +07:00
Ahmad Husen 4da3a1b0cc Merge pull request #10 from hapakaien/feature/migrate-to-buildah
feature: replace Docker with Buildah in CI
2022-02-02 11:08:06 +07:00
Ahmad Husen 7926f4fb39 feature: replace Docker with Buildah in CI 2022-02-02 11:03:05 +07:00
Ahmad Husen 863b0d9617 Merge pull request #9 from hapakaien/bugfix/sudoers-user
fix: add user directly into sudoers file
2022-02-02 10:39:52 +07:00
Ahmad Husen 360be955b0 fix: add user directly into sudoers file 2022-02-02 10:38:28 +07:00
dependabot[bot] 6443f058c1 Merge pull request #7 from datakrama/dependabot/github_actions/actions/checkout-2.4.0 2021-11-08 12:00:30 +00:00
dependabot[bot] c05034041f chore(deps): bump actions/checkout from 2.3.5 to 2.4.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [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/v2.3.5...v2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 20:11:55 +00:00
6 changed files with 146 additions and 73 deletions
+35 -29
View File
@@ -17,7 +17,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
uses: actions/checkout@v3
- name: Update action.yml to build locally
run: |
@@ -25,7 +25,7 @@ jobs:
cat action.yml
- name: Get sample PKGBUILD
run: wget https://github.com/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
run: wget https://github.com/hapakaien/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
- name: Running test
uses: ./
@@ -42,18 +42,25 @@ jobs:
git diff .SRCINFO
publish:
name: Publish container image
name: Publish OCI image
needs: pretest
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
uses: actions/checkout@v3
- 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@v4
with:
images: ghcr.io/${{ github.repository }}
tags: |
@@ -64,38 +71,37 @@ 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@v3
- name: Get sample PKGBUILD
run: wget https://github.com/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
run: wget https://github.com/hapakaien/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
- name: Update action.yml to use edge tagged container image
if: github.ref == 'refs/heads/main'
@@ -125,7 +131,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
uses: actions/checkout@v3
- name: Get branch/tag names
id: branch-name
+55 -7
View File
@@ -7,6 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [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)
## [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 +91,16 @@ 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.1.1...HEAD
[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
+8 -5
View File
@@ -5,11 +5,14 @@ FROM docker.io/library/archlinux:base-devel
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 /
+15 -14
View File
@@ -1,6 +1,6 @@
# Arch Linux's package tools action
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/datakrama/archlinux-package-action/CI?label=CI&style=flat-square)](https://github.com/datakrama/archlinux-package-action/actions) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/datakrama/archlinux-package-action?style=flat-square)](https://github.com/datakrama/archlinux-package-action/releases) [![GitHub](https://img.shields.io/github/license/datakrama/archlinux-package-action?style=flat-square)](./LICENSE)
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/hapakaien/archlinux-package-action/CI?label=CI&style=flat-square)](https://github.com/hapakaien/archlinux-package-action/actions) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/hapakaien/archlinux-package-action?style=flat-square)](https://github.com/hapakaien/archlinux-package-action/releases) [![GitHub](https://img.shields.io/github/license/hapakaien/archlinux-package-action?style=flat-square)](./LICENSE)
This action allows running tools needed for creating Arch Linux (and AUR) package.
Here's what this action can do:
@@ -21,15 +21,16 @@ 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 |
### Examples
@@ -52,7 +53,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: datakrama/archlinux-package-action@v1
uses: hapakaien/archlinux-package-action@v2
```
#### 2. Only generate .SRCINFO
@@ -72,7 +73,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: datakrama/archlinux-package-action@v1
uses: hapakaien/archlinux-package-action@v2
with:
flags: ''
namcap: false
@@ -96,7 +97,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: datakrama/archlinux-package-action@v1
uses: hapakaien/archlinux-package-action@v2
with:
flags: ''
namcap: false
@@ -120,7 +121,7 @@ jobs:
uses: actions/checkout@v2
- name: Validate package
uses: datakrama/archlinux-package-action@v1
uses: hapakaien/archlinux-package-action@v2
with:
path: package
flags: '-si --noconfirm'
+7 -2
View File
@@ -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: 'hapakaien'
branding:
icon: 'package'
color: 'blue'
@@ -35,10 +35,14 @@ inputs:
description: 'Validate package with namcap'
default: 'true'
required: false
aur:
description: 'Resolve dependencies using paru'
default: 'false'
required: false
runs:
using: 'docker'
image: 'docker://ghcr.io/datakrama/archlinux-package-action:1'
image: 'docker://ghcr.io/hapakaien/archlinux-package-action:2'
args:
- ${{ inputs.path }}
- ${{ inputs.pkgver }}
@@ -47,3 +51,4 @@ runs:
- ${{ inputs.srcinfo }}
- ${{ inputs.flags }}
- ${{ inputs.namcap }}
- ${{ inputs.aur }}
+25 -15
View File
@@ -2,13 +2,15 @@
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 $WORKPATH 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
cp -rfv "$GITHUB_WORKSPACE"/.git ./
cp -fv "$WORKPATH"/PKGBUILD ./
echo "::endgroup::"
# Update pkgver
@@ -30,7 +32,7 @@ fi
# Update checksums
if [[ $INPUT_UPDPKGSUMS == true ]]; then
echo "::group::Updating checksums on PKGBUILD"
sudo -u builder updpkgsums
updpkgsums
git diff PKGBUILD
echo "::endgroup::"
fi
@@ -38,7 +40,7 @@ fi
# Generate .SRCINFO
if [[ $INPUT_SRCINFO == true ]]; then
echo "::group::Generating new .SRCINFO based on PKGBUILD"
sudo -u builder makepkg --printsrcinfo > .SRCINFO
makepkg --printsrcinfo >.SRCINFO
git diff .SRCINFO
echo "::endgroup::"
fi
@@ -50,16 +52,24 @@ 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
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::"