Compare commits

...

20 Commits

Author SHA1 Message Date
Ahmad Husen 65444430c4 chore: release v1.1.0
CI / Test (with Dockerfile) (push) Successful in 1m21s
CI / Publish container image (push) Has been cancelled
CI / Test (with prebuilt Container Image) (push) Has been cancelled
CI / Release (push) Has been cancelled
2021-10-02 00:09:27 +07:00
Ahmad Husen b3890e00a5 Merge pull request #4 from datakrama/feature/pkgrel
feat: update pkgrel
2021-10-01 22:58:06 +07:00
Ahmad Husen 3487dc866b feat: update pkgrel 2021-10-01 22:54:16 +07:00
Ahmad Husen 581d4292cc Merge pull request #3 from datakrama/feature/pkgver
feat: update pkgver
2021-10-01 22:34:38 +07:00
Ahmad Husen 4d1983388b feat: update pkgver 2021-10-01 22:27:55 +07:00
Ahmad Husen fb6ab46b3f Merge pull request #2 from datakrama/bugfix/missing-bash-set-e
fix(bash): missing 'set e'
2021-10-01 20:41:08 +07:00
Ahmad Husen 796ddff1d3 chore: change branding color 2021-10-01 14:38:53 +07:00
Ahmad Husen 3d91dafd70 fix(bash): missing 'set e' 2021-10-01 13:58:10 +07:00
Ahmad Husen bc46e9c8d4 ci: update sample PKGBUILD 2021-09-30 17:07:53 +07:00
Ahmad Husen 3aa6342a73 feat(container): copy '.git' folder from WORKPATH
CI / Pretest (with Dockerfile) (push) Successful in 1m48s
CI / Test (with pre-built Container Image) (push) Has been cancelled
CI / Publish container image (push) Has been cancelled
2021-05-30 14:24:17 +07:00
Ahmad Husen 8987dba528 feat(container): always under 2021-05-30 14:20:58 +07:00
Ahmad Husen b8114f2ee3 feat(container): change value 2021-05-30 14:14:59 +07:00
Ahmad Husen 42c6bfae1e feat(container): create /tmp folder manually 2021-05-30 14:07:35 +07:00
Ahmad Husen fcedc2d02c feat(container): copy .git to /tmp folder 2021-05-30 14:05:13 +07:00
Ahmad Husen 7f32fc286b feat(container): only copy needed files 2021-05-30 14:00:48 +07:00
Ahmad Husen ec0ee87e6a feat(bash): run all commmand with non-root user 2021-05-30 13:52:20 +07:00
Ahmad Husen 3c654a34ce fix(container): unknown rsync option 2021-05-30 13:38:37 +07:00
Ahmad Husen 65e9437ece feat(container): use rsync instead cp 2021-05-30 13:36:39 +07:00
Ahmad Husen 0593cc597c fix(bash): cp permission 2021-05-30 13:26:06 +07:00
Ahmad Husen 88a8c57641 feat(bash): copying files to /tmp instead of chown 2021-05-30 13:19:29 +07:00
5 changed files with 148 additions and 24 deletions
+42 -6
View File
@@ -12,7 +12,7 @@ on:
jobs: jobs:
pretest: pretest:
name: Pretest (with Dockerfile) name: Test (with Dockerfile)
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -25,11 +25,13 @@ jobs:
cat action.yml cat action.yml
- name: Get sample PKGBUILD - name: Get sample PKGBUILD
run: wget https://github.com/official-human/nonicons-font/raw/main/PKGBUILD run: wget https://github.com/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
- name: Running tests - name: Running test
uses: ./ uses: ./
with: with:
pkgver: '0.4.26'
pkgrel: 2
updpkgsums: true updpkgsums: true
srcinfo: true srcinfo: true
@@ -84,7 +86,7 @@ jobs:
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
test: test:
name: Test (with pre-built Container Image) name: Test (with prebuilt Container Image)
needs: publish needs: publish
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -93,7 +95,7 @@ jobs:
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.4
- name: Get sample PKGBUILD - name: Get sample PKGBUILD
run: wget https://github.com/official-human/nonicons-font/raw/main/PKGBUILD run: wget https://github.com/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
- name: Update action.yml to use edge tagged container image - name: Update action.yml to use edge tagged container image
if: github.ref == 'refs/heads/main' if: github.ref == 'refs/heads/main'
@@ -101,9 +103,11 @@ jobs:
sed -i 's/.*image\:.*/ image\: \"docker\:\/\/ghcr.io\/${{ github.repository_owner }}\/${{ github.event.repository.name }}\:edge\"/' action.yml sed -i 's/.*image\:.*/ image\: \"docker\:\/\/ghcr.io\/${{ github.repository_owner }}\/${{ github.event.repository.name }}\:edge\"/' action.yml
cat action.yml cat action.yml
- name: Running tests - name: Running test
uses: ./ uses: ./
with: with:
pkgver: '0.4.26'
pkgrel: 2
updpkgsums: true updpkgsums: true
srcinfo: true srcinfo: true
@@ -112,3 +116,35 @@ jobs:
ls -la ls -la
git diff PKGBUILD git diff PKGBUILD
git diff .SRCINFO git diff .SRCINFO
release:
name: Release
runs-on: ubuntu-latest
needs: test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Get branch/tag names
id: branch-name
uses: tj-actions/branch-names@v5
with:
strip_tag_prefix: "v"
- name: Read changelog
id: changelog-reader
uses: mindsers/changelog-reader-action@v2
with:
version: ${{ steps.branch-name.outputs.tag }}
path: ./CHANGELOG.md
- name: Create/update release
uses: ncipollo/release-action@v1
with:
tag: v${{ steps.branch-name.outputs.tag }}
name: v${{ steps.branch-name.outputs.tag }}
body: ${{ steps.changelog-reader.outputs.changes }}
allowUpdates: true
token: ${{ secrets.GITHUB_TOKEN }}
+50
View File
@@ -0,0 +1,50 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.1.0] - 2021-10-02
### Added
- Update `pkgver` on PKGBUILD
- Update `pkgrel` on PKGBUILD
### Fixed
- Missing `set -e` on bash
## [1.0.3] - 2021-05-30
### Fixed
- $GITHUB_WORKSPACE permission in step after using this action
## [1.0.2] - 2021-05-26
### Fixed
- Docker runner syntax
- Path sntax
## [1.0.1] - 2021-05-19
### Fixed
- Missing documentation
## [1.0.0] - 2021-05-19
### Added
- Initial release
[Unreleased]: https://github.com/datakrama/archlinux-package-action/compare/v1.1.0...HEAD
[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
+6 -4
View File
@@ -5,9 +5,9 @@
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: Here's what this action can do:
- Update checksums on PKGBUILD file - Update `pkgver`, `pkgrel`, or checksums on PKGBUILD file
- Generate [.SRCINFO](https://wiki.archlinux.org/title/.SRCINFO) based on your PKGBUILD
- Validate PKGBUILD with [namcap](https://wiki.archlinux.org/title/namcap) - Validate PKGBUILD with [namcap](https://wiki.archlinux.org/title/namcap)
- Generate [.SRCINFO](https://wiki.archlinux.org/title/.SRCINFO) based on your PKGBUILD
- Run [makepkg](https://wiki.archlinux.org/title/Makepkg) with custom flags (rather than default) - Run [makepkg](https://wiki.archlinux.org/title/Makepkg) with custom flags (rather than default)
## Usage ## Usage
@@ -24,6 +24,8 @@ 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 |
| `pkgrel` | Integer | | `false` | Update `pkgrel` on your PKGBUILD |
| `updpkgsums` | Boolean | `false` | `false` | Update checksums on your PKGBUILD | | `updpkgsums` | Boolean | `false` | `false` | Update checksums on your PKGBUILD |
| `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 |
@@ -120,11 +122,11 @@ jobs:
- name: Validate package - name: Validate package
uses: datakrama/archlinux-package-action@v1 uses: datakrama/archlinux-package-action@v1
with: with:
path: $GITHUB_WORKSPACE/package path: package
flags: '-si --noconfirm' flags: '-si --noconfirm'
namcap: false namcap: false
``` ```
## License ## License
The scripts and documentation in this project are released under the [MIT License](./LICENSE) The scripts and documentation in this project are released under the [MIT License](LICENSE)
+11 -1
View File
@@ -4,13 +4,21 @@ description: "GitHub Action to run Arch Linux's package tools"
author: 'datakrama' author: 'datakrama'
branding: branding:
icon: 'package' icon: 'package'
color: 'green' color: 'blue'
inputs: inputs:
path: path:
description: 'Location for this action to run' description: 'Location for this action to run'
default: '' default: ''
required: false required: false
pkgver:
description: 'Update pkgver on PKGBUILD'
default: ''
required: false
pkgrel:
description: 'Update pkgrel on PKGBUILD'
default: ''
required: false
updpkgsums: updpkgsums:
description: 'Update checksums on PKGBUILD' description: 'Update checksums on PKGBUILD'
default: 'false' default: 'false'
@@ -33,6 +41,8 @@ runs:
image: 'docker://ghcr.io/datakrama/archlinux-package-action:1' image: 'docker://ghcr.io/datakrama/archlinux-package-action:1'
args: args:
- ${{ inputs.path }} - ${{ inputs.path }}
- ${{ inputs.pkgver }}
- ${{ inputs.pkgrel }}
- ${{ inputs.updpkgsums }} - ${{ inputs.updpkgsums }}
- ${{ inputs.srcinfo }} - ${{ inputs.srcinfo }}
- ${{ inputs.flags }} - ${{ inputs.flags }}
+39 -13
View File
@@ -1,39 +1,65 @@
#!/bin/bash #!/bin/bash
set -e
# Set path # Set path
echo '::group::Configuring path with permission' echo "::group::Copying file from $WORKPATH to /tmp/gh-action"
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
# Set path permision # Set path permision
sudo chown -R builder $WORKPATH sudo -u builder mkdir /tmp/gh-action
cd $WORKPATH sudo -u builder cp -rfv "$WORKPATH"/.git /tmp/gh-action/.git
echo '::endgroup::' sudo -u builder cp -fv "$WORKPATH"/PKGBUILD /tmp/gh-action/PKGBUILD
cd /tmp/gh-action
echo "::endgroup::"
# 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
echo "::endgroup::"
fi
# Update pkgver
if [[ -n $INPUT_PKGREL ]]; then
echo "::group::Updating pkgrel on PKGBUILD"
sed -i "s:^pkgrel=.*$:pkgrel=$INPUT_PKGREL:g" PKGBUILD
git diff PKGBUILD
echo "::endgroup::"
fi
# Update checksums # Update checksums
echo '::group::Updating checksums on PKGBUILD'
if [[ $INPUT_UPDPKGSUMS == true ]]; then if [[ $INPUT_UPDPKGSUMS == true ]]; then
echo "::group::Updating checksums on PKGBUILD"
sudo -u builder updpkgsums sudo -u builder updpkgsums
git diff PKGBUILD git diff PKGBUILD
echo "::endgroup::"
fi fi
echo '::endgroup::'
# Generate .SRCINFO # Generate .SRCINFO
echo '::group::Generating new .SRCINFO based on PKGBUILD'
if [[ $INPUT_SRCINFO == true ]]; then if [[ $INPUT_SRCINFO == true ]]; then
echo "::group::Generating new .SRCINFO based on PKGBUILD"
sudo -u builder makepkg --printsrcinfo > .SRCINFO sudo -u builder makepkg --printsrcinfo > .SRCINFO
git diff .SRCINFO git diff .SRCINFO
echo "::endgroup::"
fi fi
echo '::endgroup::'
# Validate with namcap # Validate with namcap
echo '::group::Validating PKGBUILD with namcap'
if [[ $INPUT_NAMCAP == true ]]; then if [[ $INPUT_NAMCAP == true ]]; then
echo "::group::Validating PKGBUILD with namcap"
namcap -i PKGBUILD namcap -i PKGBUILD
echo "::endgroup::"
fi fi
echo '::endgroup::'
# Run makepkg # Run makepkg
echo '::group::Running makepkg with flags' if [[ -n $INPUT_FLAGS ]]; then
if [[ -n "$INPUT_FLAGS" ]]; then echo "::group::Running makepkg with flags"
sudo -u builder makepkg $INPUT_FLAGS sudo -u builder makepkg $INPUT_FLAGS
echo "::endgroup::"
fi fi
echo '::endgroup::'
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
fi
echo "::endgroup::"