Skip to content

Commit

Permalink
First release
Browse files Browse the repository at this point in the history
- Updated the GitHub Actions files to include release steps
- Added a contribution guide
  • Loading branch information
habedi committed Jan 17, 2025
1 parent 8392c79 commit 767e656
Show file tree
Hide file tree
Showing 12 changed files with 211 additions and 34 deletions.
8 changes: 3 additions & 5 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Linux Build

on:
workflow_dispatch: # Only enable manual runs for now
workflow_dispatch: # Enable manual execution

jobs:
build:
Expand Down Expand Up @@ -36,11 +36,9 @@ jobs:
- name: List Build Directory
run: ls -R bin

# Archive the build artifacts
- name: Archive Build Artifacts
# Upload Build Artifact
- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: gogg-linux-amd64
path: 'bin/gogg'


Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: MacOS Build

on:
workflow_dispatch: # Only enable manual runs for now
workflow_dispatch: # Enable manual execution

jobs:
build:
Expand Down Expand Up @@ -30,17 +30,15 @@ jobs:
- name: Build for MacOS
run: |
make build-macos
continue-on-error: false

# Debug: List Build Directory
- name: List Build Directory
run: ls -R bin

# Archive the build artifacts
- name: Archive Build Artifacts
# Upload Build Artifact
- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: gogg-macos-universal
path: 'bin/gogg'

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Windows Build

on:
workflow_dispatch: # Only enable manual runs for now
workflow_dispatch: # Enable manual execution

jobs:
build:
Expand Down Expand Up @@ -36,11 +36,9 @@ jobs:
- name: List Build Directory
run: ls -R bin

# Archive the build artifacts
- name: Archive Build Artifacts
# Upload Build Artifact
- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: gogg-windows-amd64
path: 'bin/gogg.exe'


137 changes: 137 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
name: Build and Release

on:
workflow_dispatch: # Allow manual execution
push:
tags:
- 'v*' # Trigger on version tags

jobs:
build-windows:
runs-on: windows-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.23

- name: Install Dependencies
run: |
choco install make -y
make format
make test
- name: Build Windows Binary
run: |
make build GOGG_BINARY=gogg.exe
- name: Upload Windows Artifact
uses: actions/upload-artifact@v4
with:
name: gogg-windows
path: bin/gogg.exe

build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.23

- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y make
make format
make test
- name: Build Linux Binary
run: |
make build
- name: Upload Linux Artifact
uses: actions/upload-artifact@v4
with:
name: gogg-linux
path: bin/gogg

build-macos:
runs-on: macos-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.23

- name: Install Dependencies
run: |
brew install make
make format
make test
- name: Build macOS Binary
run: |
make build-macos
- name: Upload macOS Artifact
uses: actions/upload-artifact@v4
with:
name: gogg-macos
path: bin/gogg

release:
runs-on: ubuntu-latest
needs: [ build-windows, build-linux, build-macos ]
steps:
- name: Download Windows Artifact
uses: actions/download-artifact@v4
with:
name: gogg-windows
path: ./windows

- name: Download Linux Artifact
uses: actions/download-artifact@v4
with:
name: gogg-linux
path: ./linux

- name: Download macOS Artifact
uses: actions/download-artifact@v4
with:
name: gogg-macos
path: ./macos

- name: List Downloaded Files (for debugging)
run: ls -R .

- name: Rename Extracted Binaries
run: |
cd windows && zip -r9 ../gogg-windows-amd64.zip gogg.exe && cd ..
cd linux && zip -r9 ../gogg-linux-amd64.zip gogg && cd ..
cd macos && zip -r9 ../gogg-macos-universal.zip gogg && cd ..
- name: Create GitHub Release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: ${{ github.ref_name }}
tag: ${{ github.ref_name }}
body: |
Release version ${{ github.ref_name }}
- Binary builds for Windows, Linux, and macOS
artifacts: |
gogg-windows-amd64.zip
gogg-linux-amd64.zip
gogg-macos-universal.zip
draft: false
prerelease: false
33 changes: 33 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Contributing to Gogg

Thank you for considering contributing to Gogg.
Contributions are always welcome and appreciated.

## How to Contribute

### Reporting Bugs

1. Open an issue on the [issue tracker](https://github.com/habedi/gogg/issues).
2. Include information like steps to reproduce, expected/actual behaviour, and relevant logs or screenshots.

### Suggesting Features

1. Open an issue on the [issue tracker](https://github.com/habedi/gogg/issues).
2. Write a little about the feature, its purpose, and potential implementation ideas.

## Submitting Pull Requests

- Make sure all tests pass before submitting a pull request.
- Write a clear description of the changes you made and why you made them for the pull request.

## Code Style

- Use the `make format` command to format the code.

## Running Tests

- Use the `make test` command to run the unit tests.

## Miscellaneous

- Run `make help` to see all available commands to manage different tasks.
16 changes: 12 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ help:
@echo " snap-deps Install Snapcraft dependencies"
@echo " snap Build the Snap package"
@echo " install-deps Install development dependencies on Debian-based systems"
@echo " lint Lint Go files to check for potential errors"
@echo " help Show this help message"

# Building the project
Expand Down Expand Up @@ -75,6 +76,7 @@ snap-deps:
@echo "Installing Snapcraft dependencies..."
sudo apt-get update
sudo apt-get install -y snapd
sudo snap refresh
sudo snap install snapcraft --classic
sudo snap install multipass --classic

Expand All @@ -86,7 +88,13 @@ snap: build # snap-deps
# Install Dependencies on Debian-based systems like Ubuntu
install-deps:
@echo "Installing dependencies..."
sudo apt-get update
sudo apt-get install -y chromium-browser snapd build-essential
sudo snap refresh
sudo snap install snapcraft multipass chromium go
make snap-deps
sudo apt-get install -y chromium-browser build-essential
sudo snap install chromium
sudo snap install go --classic
sudo snap install golangci-lint --classic

# Linting Go files
lint:
@echo "Linting Go files..."
golangci-lint run ./...
28 changes: 18 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<div align="center">
<picture>
<source media="(prefers-color-scheme: light)" srcset="assets/logo-v1.jpeg">
<source media="(prefers-color-scheme: dark)" srcset="assets/logo-v1.jpeg">
<img alt="Gogg logo" src="assets/logo-v1.jpeg" height="35%" width="35%">
<source media="(prefers-color-scheme: light)" srcset="logo.jpeg">
<source media="(prefers-color-scheme: dark)" srcset="logo.jpeg">
<img alt="Gogg logo" src="logo.jpeg" height="40%" width="40%">
</picture>
</div>
<br>
Expand All @@ -20,10 +20,16 @@
<a href="https://github.com/habedi/gogg/releases/latest">
<img src="https://img.shields.io/github/release/habedi/gogg.svg?style=flat-square" alt="Release">
</a>
<a href="https://snapcraft.io/gogg">
<img src="https://snapcraft.io/gogg/badge.svg" alt="Snap Store">
<br>
<a href="https://github.com/habedi/gogg/actions/workflows/build_linux.yml">
<img src="https://github.com/habedi/gogg/actions/workflows/build_linux.yml/badge.svg" alt="Linux Build">
</a>
<a href="https://github.com/habedi/gogg/actions/workflows/build_windows.yml">
<img src="https://github.com/habedi/gogg/actions/workflows/build_windows.yml/badge.svg" alt="Windows Build">
</a>
<a href="https://github.com/habedi/gogg/actions/workflows/build_macos.yml">
<img src="https://github.com/habedi/gogg/actions/workflows/build_macos.yml/badge.svg" alt="MacOS Build">
</a>

</p>

# Gogg
Expand Down Expand Up @@ -56,6 +62,8 @@ Additionally, it allows users to perform the following actions:

See the [documentation](docs/README.md) for how to install and use Gogg.

Run `gogg -h` to see the available commands and options.

### Examples

For more detailed examples, see the content of the [examples](docs/examples/) directory.
Expand All @@ -76,8 +84,8 @@ gogg auth
```

> You must have [Google Chrome](https://www.google.com/chrome/) or [Chromium](https://www.chromium.org/) installed
on your machine for the first-time authentication.
So, make sure you have one of them installed.
> on your machine for the first-time authentication.
> So, make sure you have one of them installed.
#### Syncing the Game Catalogue

Expand All @@ -93,6 +101,6 @@ gogg catalogue refresh
gogg download --id 1207658924 --dir ./games --platform windows --lang en --dlcs true --extras true --resume true --threads 5
```

## Bugs and Features
## Contributing

Use the [issue tracker](github.com/habedi/gogg/issues) to report a bug or ask for a feature.
Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for information on how to contribute to Gogg.
Empty file removed assets/workflow.dot
Empty file.
2 changes: 1 addition & 1 deletion cmd/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (

var (
// Gogg version
version = "0.2.0"
version = "0.2.1"
)

// versionCmd shows the version of Gogg
Expand Down
3 changes: 0 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,8 @@

You can download the binary builds of Gogg for your operating system
from the [releases page](https://github.com/habedi/gogg/releases).

You might want to add the binary to your system's PATH to use it from anywhere on your system.

Run `gogg -h` to see the available commands and options.

## Usage

### First Time Setup
Expand Down
File renamed without changes
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func main() {
signal.Notify(stopChan, os.Interrupt)
go listenForInterrupt(stopChan)

// Execute the CLI program
// Program entry point
cmd.Execute()
}

Expand Down

0 comments on commit 767e656

Please sign in to comment.