Compare commits

..

25 Commits

Author SHA1 Message Date
Ahmad Husen d90b1b2689 chore: release v1.1.1
CI / Test (with Dockerfile) (push) Successful in 1m27s
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-26 09:00:00 +07:00
Ahmad Husen 3747c6e38e Merge pull request #6 from datakrama/bugfix/path
fix(bash): .git folder
2021-10-26 08:52:10 +07:00
Ahmad Husen 10816168b7 fix(bash): .git folder 2021-10-26 08:49:09 +07:00
dependabot[bot] 87fb26e440 Merge pull request #5 from datakrama/dependabot/github_actions/actions/checkout-2.3.5 2021-10-26 01:12:05 +00:00
dependabot[bot] 38bb9b95aa chore(deps): bump actions/checkout from 2.3.4 to 2.3.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.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/v2.3.4...v2.3.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-15 20:09:36 +00:00
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 159 additions and 27 deletions
+45 -9
View File
@@ -12,12 +12,12 @@ on:
jobs:
pretest:
name: Pretest (with Dockerfile)
name: Test (with Dockerfile)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
uses: actions/checkout@v2.3.5
- name: Update action.yml to build locally
run: |
@@ -25,11 +25,13 @@ jobs:
cat action.yml
- 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: ./
with:
pkgver: '0.4.26'
pkgrel: 2
updpkgsums: true
srcinfo: true
@@ -47,7 +49,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v2.3.5
- name: OCI meta
id: meta
@@ -84,16 +86,16 @@ jobs:
labels: ${{ steps.meta.outputs.labels }}
test:
name: Test (with pre-built Container Image)
name: Test (with prebuilt Container Image)
needs: publish
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
uses: actions/checkout@v2.3.5
- 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
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
cat action.yml
- name: Running tests
- name: Running test
uses: ./
with:
pkgver: '0.4.26'
pkgrel: 2
updpkgsums: true
srcinfo: true
@@ -112,3 +116,35 @@ jobs:
ls -la
git diff PKGBUILD
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.3.5
- 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 }}
+58
View File
@@ -0,0 +1,58 @@
# 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.1] - 2021-10-26
### Fixed
- Wrong `.git` folder when using `path` parameter
## [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.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
+6 -4
View File
@@ -5,9 +5,9 @@
This action allows running tools needed for creating Arch Linux (and AUR) package.
Here's what this action can do:
- Update checksums on PKGBUILD file
- Generate [.SRCINFO](https://wiki.archlinux.org/title/.SRCINFO) based on your PKGBUILD
- Update `pkgver`, `pkgrel`, or checksums on PKGBUILD file
- 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)
## Usage
@@ -24,6 +24,8 @@ 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 |
@@ -120,11 +122,11 @@ jobs:
- name: Validate package
uses: datakrama/archlinux-package-action@v1
with:
path: $GITHUB_WORKSPACE/package
path: package
flags: '-si --noconfirm'
namcap: false
```
## 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'
branding:
icon: 'package'
color: 'green'
color: 'blue'
inputs:
path:
description: 'Location for this action to run'
default: ''
required: false
pkgver:
description: 'Update pkgver on PKGBUILD'
default: ''
required: false
pkgrel:
description: 'Update pkgrel on PKGBUILD'
default: ''
required: false
updpkgsums:
description: 'Update checksums on PKGBUILD'
default: 'false'
@@ -33,6 +41,8 @@ runs:
image: 'docker://ghcr.io/datakrama/archlinux-package-action:1'
args:
- ${{ inputs.path }}
- ${{ inputs.pkgver }}
- ${{ inputs.pkgrel }}
- ${{ inputs.updpkgsums }}
- ${{ inputs.srcinfo }}
- ${{ inputs.flags }}
+39 -13
View File
@@ -1,39 +1,65 @@
#!/bin/bash
set -e
# Set path
echo '::group::Configuring path with permission'
echo "::group::Copying file from $WORKPATH to /tmp/gh-action"
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
# Set path permision
sudo chown -R builder $WORKPATH
cd $WORKPATH
echo '::endgroup::'
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
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
echo '::group::Updating checksums on PKGBUILD'
if [[ $INPUT_UPDPKGSUMS == true ]]; then
echo "::group::Updating checksums on PKGBUILD"
sudo -u builder updpkgsums
git diff PKGBUILD
echo "::endgroup::"
fi
echo '::endgroup::'
# Generate .SRCINFO
echo '::group::Generating new .SRCINFO based on PKGBUILD'
if [[ $INPUT_SRCINFO == true ]]; then
echo "::group::Generating new .SRCINFO based on PKGBUILD"
sudo -u builder makepkg --printsrcinfo > .SRCINFO
git diff .SRCINFO
echo "::endgroup::"
fi
echo '::endgroup::'
# Validate with namcap
echo '::group::Validating PKGBUILD with namcap'
if [[ $INPUT_NAMCAP == true ]]; then
echo "::group::Validating PKGBUILD with namcap"
namcap -i PKGBUILD
echo "::endgroup::"
fi
echo '::endgroup::'
# 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
echo "::endgroup::"
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::"