Skip to content

Commit 6441faa

Browse files
committed
Add github workflow
1 parent dcd8220 commit 6441faa

File tree

3 files changed

+86
-19
lines changed

3 files changed

+86
-19
lines changed

.github/workflows/build.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Build and Upload FINA Binaries
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- 'v*'
9+
pull_request:
10+
branches:
11+
- main
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
17+
strategy:
18+
matrix:
19+
target: [
20+
x86_64, x86_64-static,
21+
i686, i686-static,
22+
arm, arm-static,
23+
aarch64, aarch64-static,
24+
powerpc, powerpc-static,
25+
cosmo
26+
]
27+
fail-fast: true
28+
29+
steps:
30+
- name: Checkout the repository
31+
uses: actions/checkout@v3
32+
33+
- name: Set up Nix
34+
uses: cachix/install-nix-action@v15
35+
36+
- name: Build and Create ZIP Archive
37+
run: |
38+
nix build .#${{ matrix.target }}
39+
cp -rP result fina-${{ matrix.target }}
40+
tar cvfz fina-${{ matrix.target }}.tar.gz fina-${{ matrix.target }}
41+
42+
- name: Upload ZIP Files as Artifacts
43+
uses: actions/upload-artifact@v3
44+
with:
45+
name: fina-binaries
46+
path: *.tar.gz
47+
48+
release:
49+
runs-on: ubuntu-latest
50+
needs: build
51+
if: startsWith(github.ref, 'refs/tags/v')
52+
53+
steps:
54+
- name: Checkout the repository
55+
uses: actions/checkout@v3
56+
57+
- name: Set up Nix
58+
uses: cachix/install-nix-action@v15
59+
60+
- name: Create GitHub Release
61+
uses: gh-actions/create-release@v1
62+
with:
63+
tag_name: ${{ github.ref_name }}
64+
release_name: "Release ${{ github.ref_name }}"
65+
draft: false
66+
prerelease: false
67+
68+
- name: Upload release assets
69+
uses: softprops/action-gh-release@v1
70+
with:
71+
files: *.tar.gz

flake.nix

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,47 +36,43 @@
3636

3737
crossTargets = {
3838
x86_64 = {
39-
pkgs = pkgs.pkgsCross.gnu64;
40-
};
41-
42-
x86_64musl = {
4339
pkgs = pkgs.pkgsCross.musl64;
4440
};
4541

46-
x86_64muslStatic = {
42+
x86_64-static = {
4743
pkgs = pkgs.pkgsCross.musl64.pkgsStatic;
4844
};
4945

5046
i686 = {
51-
pkgs = pkgs.pkgsCross.gnu32;
52-
};
53-
54-
i686musl = {
5547
pkgs = pkgs.pkgsCross.musl32;
5648
};
5749

58-
i686muslStatic = {
50+
i686-static = {
5951
pkgs = pkgs.pkgsCross.musl32.pkgsStatic;
6052
};
6153

6254
arm = {
63-
pkgs = pkgs.pkgsCross.armv7l-hf-multiplatform;
55+
pkgs = pkgs.pkgsCross.armv7l-hf-multiplatform-musl;
6456
};
6557

66-
armStatic = {
67-
pkgs = pkgs.pkgsCross.armv7l-hf-multiplatform.pkgsStatic;
58+
arm-static = {
59+
pkgs = pkgs.pkgsCross.armv7l-hf-multiplatfor-musl.pkgsStatic;
6860
};
6961

7062
aarch64 = {
71-
pkgs = pkgs.pkgsCross.aarch64-multiplatform;
63+
pkgs = pkgs.pkgsCross.aarch64-multiplatform-musl;
7264
};
7365

74-
aarch64musl = {
75-
pkgs = pkgs.pkgsCross.aarch64-multiplatform-musl;
66+
aarch64-static = {
67+
pkgs = pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic;
7668
};
7769

7870
powerpc = {
79-
pkgs = pkgs.pkgsCross.ppc32;
71+
pkgs = pkgs.pkgsCross.ppc32-multiplatform-musl;
72+
};
73+
74+
powerpc-static = {
75+
pkgs = pkgs.pkgsCross.ppc32-multiplatform-musl.pkgsStatic;
8076
};
8177

8278
cosmo = {
@@ -101,7 +97,7 @@
10197
in
10298
crossPkgs.stdenv.mkDerivation {
10399
pname = "fina";
104-
version = "0.0.0-${name}";
100+
version = "0.3-${name}";
105101
src = ./.;
106102

107103
nativeBuildInputs = gnativeBuildInputs ++ [ libffi ];

sys/savefina.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ expose-module private
88
s" share/doc/fina/LICENSE" >inst ftype ;
99
defer banner
1010
:noname
11-
." FINA v0.2-" buildstr type
11+
." FINA v0.3-" buildstr type
1212
." , Copyright (c) 2004-2010, Jorge Acereda Macia." cr
1313
." FINA comes with EVEN LESS WARRANTY; for details type 'license'." cr
1414
." Type 'bye' to exit." cr

0 commit comments

Comments
 (0)