Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,21 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- name: 'Get Previous tag'
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1"
uses: "WyriHaximus/github-action-get-previous-tag@v2"
- name: Set version
run: |
export VERSION=${{ steps.previoustag.outputs.tag }}
- name: Setup tools
run: sudo apt-get install pandoc
- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: '1.21'
go-version-file: 'go.mod'
- name: Install just
uses: extractions/setup-just@v4
- name: Build
run: VERSION="${{ steps.previoustag.outputs.tag }}" make all
run: VERSION="${{ steps.previoustag.outputs.tag }}" just all

116 changes: 24 additions & 92 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,112 +4,44 @@ on:
push:
tags:
- '*'

permissions:
contents: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- name: 'Get Previous tag'
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1"
uses: "WyriHaximus/github-action-get-previous-tag@v2"
- name: Setup tools
run: sudo apt-get install pandoc
- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: '1.21'
go-version-file: 'go.mod'
- name: Install just
uses: extractions/setup-just@v4
- name: Build
run: |
VERSION="${{ steps.previoustag.outputs.tag }}" make all
VERSION="${{ steps.previoustag.outputs.tag }}" make deb
VERSION="${{ steps.previoustag.outputs.tag }}" just all
VERSION="${{ steps.previoustag.outputs.tag }}" just deb
- name: Release
uses: actions/create-release@v1
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: softprops/action-gh-release@v2
with:
draft: true
prerelease: false
release_name: ${{ steps.previoustag.outputs.tag }}
name: ${{ steps.previoustag.outputs.tag }}
tag_name: ${{ steps.previoustag.outputs.tag }}
- name: upload linux amd64 artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview-${{ steps.previoustag.outputs.tag }}-linux-amd64.tar.gz
asset_name: mdview-${{ steps.previoustag.outputs.tag }}-linux-amd64.tar.gz
asset_content_type: application/gzip
- name: upload linux i386 artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview-${{ steps.previoustag.outputs.tag }}-linux-i386.tar.gz
asset_name: mdview-${{ steps.previoustag.outputs.tag }}-linux-i386.tar.gz
asset_content_type: application/gzip
- name: upload linux arm64 artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview-${{ steps.previoustag.outputs.tag }}-linux-arm64.tar.gz
asset_name: mdview-${{ steps.previoustag.outputs.tag }}-linux-arm64.tar.gz
asset_content_type: application/gzip
- name: upload darwin amd64 artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview-${{ steps.previoustag.outputs.tag }}-darwin-amd64.tar.gz
asset_name: mdview-${{ steps.previoustag.outputs.tag }}-darwin-amd64.tar.gz
asset_content_type: application/gzip
- name: upload darwin arm64 artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview-${{ steps.previoustag.outputs.tag }}-darwin-arm64.tar.gz
asset_name: mdview-${{ steps.previoustag.outputs.tag }}-darwin-arm64.tar.gz
asset_content_type: application/gzip
- name: upload windows amd64 artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview-${{ steps.previoustag.outputs.tag }}-windows-amd64.zip
asset_name: mdview-${{ steps.previoustag.outputs.tag }}-windows-amd64.zip
asset_content_type: application/zip
- name: upload freebsd amd64 artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview-${{ steps.previoustag.outputs.tag }}-freebsd-amd64.tar.gz
asset_name: mdview-${{ steps.previoustag.outputs.tag }}-freebsd-amd64.tar.gz
asset_content_type: application/gzip
- name: upload linux amd64 deb
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview_${{ steps.previoustag.outputs.tag }}_amd64.deb
asset_name: mdview_${{ steps.previoustag.outputs.tag }}_amd64.deb
asset_content_type: application/vnd.debian.binary-package
- name: upload linux arm64 deb
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./mdview_${{ steps.previoustag.outputs.tag }}_arm64.deb
asset_name: mdview_${{ steps.previoustag.outputs.tag }}_arm64.deb
asset_content_type: application/vnd.debian.binary-package
files: |
mdview-${{ steps.previoustag.outputs.tag }}-linux-amd64.tar.gz
mdview-${{ steps.previoustag.outputs.tag }}-linux-i386.tar.gz
mdview-${{ steps.previoustag.outputs.tag }}-linux-arm64.tar.gz
mdview-${{ steps.previoustag.outputs.tag }}-darwin-amd64.tar.gz
mdview-${{ steps.previoustag.outputs.tag }}-darwin-arm64.tar.gz
mdview-${{ steps.previoustag.outputs.tag }}-windows-amd64.zip
mdview-${{ steps.previoustag.outputs.tag }}-freebsd-amd64.tar.gz
mdview_${{ steps.previoustag.outputs.tag }}_amd64.deb
mdview_${{ steps.previoustag.outputs.tag }}_arm64.deb
85 changes: 0 additions & 85 deletions Makefile

This file was deleted.

88 changes: 88 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
set shell := ["/bin/bash", "-c"]

VERSION := env_var_or_default("VERSION", "")

MANSECTION := env_var_or_default("MANSECTION", "1")

default: linux
all: linux windows darwin freebsd

linux: bin-linux-amd64-mdview bin-linux-arm64-mdview bin-linux-i386-mdview
windows: bin-windows-amd64-mdview-exe
darwin: bin-darwin-amd64-mdview bin-darwin-arm64-mdview
freebsd: bin-freebsd-amd64-mdview

deb: deb-linux-amd64 deb-linux-arm64

deb-linux-amd64: bin-linux-amd64-mdview
mkdir -p package/DEBIAN
mkdir -p package/usr/bin/
mkdir -p package/usr/share/man/man1/
cp control package/DEBIAN/
sed -i "s/VERSION/{{VERSION}}/g" package/DEBIAN/control
cp -r bin/linux-amd64/mdview package/usr/bin/mdview
cp mdview.1 package/usr/share/man/man1/
dpkg-deb --build package
mv package.deb mdview_{{VERSION}}_amd64.deb

deb-linux-arm64: bin-linux-arm64-mdview
mkdir -p package/DEBIAN
mkdir -p package/usr/bin/
mkdir -p package/usr/share/man/man1/
cp control package/DEBIAN/
sed -i "s/VERSION/{{VERSION}}/g" package/DEBIAN/control
cp -r bin/linux-arm64/mdview package/usr/bin/mdview
cp mdview.1 package/usr/share/man/man1/
dpkg-deb --build package
mv package.deb mdview_{{VERSION}}_arm64.deb

snap:
snapcraft pack

bin-linux-amd64-mdview: manpage
env GOOS=linux GOARCH=amd64 go build -ldflags "-X main.appVersion={{VERSION}}" -o ./bin/linux-amd64/mdview
cp mdview.1 bin/linux-amd64/
tar czvf mdview-{{VERSION}}-linux-amd64.tar.gz --transform s/linux-amd64/mdview-{{VERSION}}/ -C bin linux-amd64

bin-linux-i386-mdview:
env GOOS=linux GOARCH=386 go build -ldflags "-X main.appVersion={{VERSION}}" -o ./bin/linux-i386/mdview
cp mdview.1 bin/linux-i386/
tar czvf mdview-{{VERSION}}-linux-i386.tar.gz --transform s/linux-i386/mdview-{{VERSION}}/ -C bin linux-i386

bin-linux-arm64-mdview:
env GOOS=linux GOARCH=arm64 go build -ldflags "-X main.appVersion={{VERSION}}" -o ./bin/linux-arm64/mdview
cp mdview.1 bin/linux-arm64/
tar czvf mdview-{{VERSION}}-linux-arm64.tar.gz --transform s/linux-arm64/mdview-{{VERSION}}/ -C bin linux-arm64

bin-windows-amd64-mdview-exe:
env GOOS=windows GOARCH=amd64 go build -ldflags "-X main.appVersion={{VERSION}}" -o ./bin/windows-amd64/mdview.exe
zip -j mdview-{{VERSION}}-windows-amd64.zip bin/windows-amd64/mdview.exe

bin-darwin-amd64-mdview:
env GOOS=darwin GOARCH=amd64 go build -ldflags "-X main.appVersion={{VERSION}}" -o ./bin/darwin-amd64/mdview
cp mdview.1 bin/darwin-amd64/
tar czvf mdview-{{VERSION}}-darwin-amd64.tar.gz --transform s/darwin-amd64/mdview-{{VERSION}}/ -C bin darwin-amd64

bin-darwin-arm64-mdview:
env GOOS=darwin GOARCH=arm64 go build -ldflags "-X main.appVersion={{VERSION}}" -o ./bin/darwin-arm64/mdview
cp mdview.1 bin/darwin-arm64/
tar czvf mdview-{{VERSION}}-darwin-arm64.tar.gz --transform s/darwin-arm64/mdview-{{VERSION}}/ -C bin darwin-arm64

bin-freebsd-amd64-mdview:
env GOOS=freebsd GOARCH=amd64 go build -ldflags "-X main.appVersion={{VERSION}}" -o ./bin/freebsd-amd64/mdview
cp mdview.1 bin/freebsd-amd64/mdview
tar czvf mdview-{{VERSION}}-freebsd-amd64.tar.gz --transform s/freebsd-amd64/mdview-{{VERSION}}/ -C bin freebsd-amd64

clean:
rm -rf bin
rm -rf package
rm -f *.tar.gz
rm -f *.zip
rm -f *.deb
rm -f mdview.1
rm -f *.snap

# snapcraft clean mdview -s pull

manpage:
pandoc --standalone --to man mdview.1.md -o mdview.1