diff --git a/README.md b/README.md index 3a626cf..90c2757 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,45 @@ # TagLib statically cross-compiled -[![Last Release](https://img.shields.io/github/v/release/navidrome/cross-taglib?logo=github&label=latest&style=flat-square)](https://github.com/navidrome/cross-taglib/releases) ![Build](https://img.shields.io/github/actions/workflow/status/navidrome/cross-taglib/ci.yml?branch=main&logo=github&style=flat-square) -[![TagLib](https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fnavidrome%2Fcross-taglib%2Fmaster%2F.version&query=%24.TAGLIB_VERSION&label=TagLib&color=brightgreen)](https://github.com/taglib/taglib/releases) +[![Last Release](https://img.shields.io/github/v/release/navidrome/cross-taglib?logo=github&label=latest&style=flat-square)](https://github.com/navidrome/cross-taglib/releases) + +## Purpose + +This repository provides a statically cross-compiled version of [TagLib](https://taglib.org), a library for reading and +editing metadata of several popular audio formats. This project requires [Docker or Docker Desktop](https://docker.com) +to work locally + +## Supported platforms +This table shows the platforms and architectures supported by this project. To build for a specific platform, use +the `make build` command with the `PLATFORM` variable set to the desired platform + +| Platform | Param to `make` | +|---------------|-----------------| +| Linux AMD64 | linux/amd64 | +| Linux 386 | linux/386 | +| Linux ARM64 | linux/arm64 | +| Linux ARMv7 | linux/arm/v7 | +| Linux ARMv6 | linux/arm/v6 | +| Linux ARMv5 | linux/arm/v5 | +| Windows AMD64 | windows/amd64 | +| Windows 386 | windows/386 | +| macOS AMD64 | darwin/amd64 | +| macOS ARM64 | darwin/arm64 | + + +## Tasks + +### Build locally + +- `make build` - Will build for all supported platforms +- `make build PLATFORM=linux/amd64` - Will build for a specific platform +- `make update` - Will update the TagLib version in the `.version` file. After updating, you should build locally to + ensure everything is working, and then commit and push the changes. + +### Release + +To release a new version, just push a new tag in the format `vX.Y.Z-C`. This will trigger a GitHub Actions workflow that +will build and release the binaries for all supported platforms. -This repository contains a Dockerfile to build a statically cross-compiled version of [TagLib](https://taglib.org) for -multiple platforms. \ No newline at end of file +The version represents the TagLib version + a counter. For example, `v2.0.2-1` represents the first release based on +TagLib 2.0.2. \ No newline at end of file