Commit graph

12 commits

Author SHA1 Message Date
ae67387451
test-packaging.yaml: Add step "Build in repository"
Run "make all" in the repository source before packaging and tests.
That's the state in-repo tests should find before running, and
indeed, as of now some in-repo tests don't run correctly due to
missing __init__py files generated during build.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-25 17:28:50 +02:00
1f607d922f
test-packaging.yaml: Add in-tree integration tests
Add a post-build step which runs integration tests against the source
code repository (as opposed to against the installed package).

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-25 14:50:27 +02:00
6c7e2e223e
test-packaging.yaml: Split build step up further
- Split build step up further

    - Dependency installation
    - Static pre-check
    - Actual package build

  - Omit pkg-build installation step for jw-pkg

    Don't build and install jw-pkg official before a jw-pkg test
    build.  jw-pkg should be self-contained enough to be able to
    build itself.

Signed-off-by: Jan Lindemann <jan@janware.com>

test-packaging.yaml: Split up build step into deps, static pre-check and actual buil

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-08 18:23:54 +02:00
67fc056e88
test-packaging.yaml: Add static code checks
Add pre- and post-build static code checks via "make check". A
repository should specify all checks that it wants to run during CI
as dependencies of target "check" in the toplevel Makefile.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-06 18:40:19 +02:00
b0f18931ac
test-packaging.yaml: enable-email-notifications: true
Enable e-mail notifications for failed runs.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-06 17:43:43 +02:00
22f8b16980
test-packaging.yaml: Shorten job name
jobs.test.name gets shown in the UI in full glory, and the
boilerplate "Packaging test - " squeezes the name of the distribution
over the right edge of the popup. Try to shorten that a little.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-06 17:39:32 +02:00
ccf2c560a8
action.yml / reusable.yaml: Remove and rename
This repository has changed its name and location from
"workflow-build-packages" to "workflows".

It has not been renamed to "workflow-build-packages", because it
might contain other workflows in the future, likely reusable
workflows.

The reason behind the name change is that the repo has changed its
purpose. The composite action it has primarily provided, with its
distribution matrix and all, has done more than the tiny thing an
action should provide all along, so this was a bad fit, and the
toplevel "action.yml" is removed by this commit. "reusable.yaml" in
.github/workflows is renamed to "test-packaging.yaml", because it
would otherwise collide with other possible future workflows in this
repo.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-03 13:54:24 +02:00
6a233e639e
workflows/reusable.yaml: Remove uses: action-build-package
Don't use ci/action-build-package@master in actions.yml anylonger,
spell its steps out one-by-one in reusable.yaml instead. This makes
the step names appear as log section headers in the UI, which is more
explicit and, hence, nicer.

This pretty much obsoletes the composite actions.yml. It should be
probably removed, and since this changes the point of this repository
from providing an action to providing a workflow, it shoud probably
be renamed from action-build-package to workflow-build-package or
something.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-03 11:30:05 +02:00
1d76f4f3e9
workflows/reusable.yaml: Remove distro from step name
The section header "Run packaging test on ${{ matrix.distro.name }}"
doesn't get the distro name expanded in the run log's section header
for whatever reason. It only adds redundant and, hence, slightly
confusing information, so remove it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-03 07:14:29 +02:00
964a71a86e
workflows/reusable.yaml: Add more names
Add

 jobs.test.name: Packaging test - ${{ matrix.distro.name }}
 jobs.test.steps.name: Run packaging test on ${{ matrix.distro.name }}
 jobs.test.steps.uses.with.distro-name: ${{ matrix.distro.name }}

In the hope that this makes the logs look nicer.

Quoting from https://forgejo.org/docs/latest/user/actions/reference/

  NOTE: if jobs.<job_id>.name is set, care must be taken that it
  evaluates to a unique name for each job created from the matrix,
  e.g.  name-${{ matrix.variant }}-${{ matrix.node}} in the above
  example.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-03 06:08:11 +02:00
74f5f55aac
action.yml: Run make pkg-manager-refresh
Before building jw-pkg from source, make pkg-install-release-deps is
called without refreshing the package manager before. Fix that by
calling make -C jw-pkg pkg-manager-refresh.

Note that it's called again later. Leaving that in because the second
step doesn't hurt, and the first steppe might get scrapped entirely
at some point.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-25 14:10:32 +02:00
815e7c3df1 Add action.yml and reusable.yaml.
This action allows to test packaging of projects compatible with
the jw-pkg layout.

It attempts the following steps:

  - Clones, builds and installs jw-pkg from source

  - Clones the package under test from Git

  - Installs its build prerequisites

  - Builds, packages and installs it

Additionally, a reusable workflow .github/workflows/reusable.yaml is
added to invoke it for all supported distributions, which currently
are Kali Linux and OpenSUSE.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-10 11:48:37 +02:00