Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.2.0 #90

Merged
merged 19 commits into from
Mar 7, 2022
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
6 changes: 4 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Changelog - Fyne.io fyne-cross

## Unreleased
## 1.2.0 - Unreleased

### Added

- Add support for FyneApp.toml #78
- Add support for FyneApp.toml #78
- Add the ability to use podman #41
- Update to use fixuid to handle mount permissions #42

## 1.1.3 - 02 Nov 2021

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
tag := $(shell date +"%y.%m.%d")
RUNNER := $(shell 2>/dev/null 1>&2 docker version && echo "docker" || echo "podman")
REGISTRY := docker.io
FYNE_CROSS_VERSION := "1.1"
FYNE_CROSS_VERSION := "1.2"


base:
Expand Down
29 changes: 29 additions & 0 deletions docker/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,35 @@

All notable changes to the fyne-cross docker images will be documented in this file.

## fyne 1.2.x compatible

Latest versions available on Docker Hub are:

- fyneio/fyne-cross:1.2-base
- fyneio/fyne-cross:1.2-base-llvm
- fyneio/fyne-cross:1.2-base-freebsd
- fyneio/fyne-cross:1.2-android
- fyneio/fyne-cross:1.2-freebsd-amd64
- fyneio/fyne-cross:1.2-freebsd-arm64
- fyneio/fyne-cross:1.2-linux-386
- fyneio/fyne-cross:1.2-linux-arm64
- fyneio/fyne-cross:1.2-linux-arm
- fyneio/fyne-cross:1.2-windows

Release cycle won't follow the fyne-cross one, so the images will be tagged and
available on Docker Hub using the label year.month.day along with the tags
above.

Example: `fyneio/fyne-cross:1.2-base-22.02.28`

## Release 22.03.05
- Update Go to v1.17.8

## Release 22.02.28
- Update Go to v1.17.7
- Update fyne CLI to v2.1.3
- Add fixuid to handle volume mount permissions

## fyne 1.1.x compatible

Latest versions available on Docker Hub are:
Expand Down
18 changes: 13 additions & 5 deletions docker/base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
ARG GO_VERSION=1.17.7
ARG GO_VERSION=1.17.8
# fyne stable branch
ARG FYNE_VERSION=v2.1.2
ARG FYNE_VERSION=v2.1.3

ARG FIXUID_VERSION=0.5.1

FROM golang:${GO_VERSION}-buster AS tools
ARG FYNE_VERSION
Expand All @@ -10,6 +12,7 @@ RUN go install -ldflags="-w -s" -v "fyne.io/fyne/v2/cmd/fyne@${FYNE_VERSION}"

# Build the fyne-cross base image
FROM golang:${GO_VERSION}-buster AS base
ARG FIXUID_VERSION

COPY --from=tools /go/bin/fyne /usr/local/bin

Expand All @@ -33,6 +36,11 @@ RUN apt-get update -qq \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*;

COPY ./docker/base/docker-entrypoint.sh /usr/local/bin

ENTRYPOINT [ "/usr/local/bin/docker-entrypoint.sh"]
# Install fixuid see #41
RUN addgroup --gid 1000 docker; \
adduser --uid 1000 --ingroup docker --home /home/docker --shell /bin/sh --disabled-password --gecos "" docker; \
curl -SsL https://github.com/boxboat/fixuid/releases/download/v${FIXUID_VERSION}/fixuid-${FIXUID_VERSION}-linux-amd64.tar.gz | tar -C /usr/local/bin -xzf -; \
chown root:root /usr/local/bin/fixuid; \
chmod 4755 /usr/local/bin/fixuid; \
mkdir -p /etc/fixuid; \
printf "user: docker\ngroup: docker\n" > /etc/fixuid/config.yml
21 changes: 0 additions & 21 deletions docker/base/docker-entrypoint.sh

This file was deleted.

6 changes: 3 additions & 3 deletions docker/darwin/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
ARG LLVM_VERSION=12
ARG OSX_VERSION_MIN=10.12
ARG OSX_CROSS_COMMIT="8a716a43a72dab1db9630d7824ee0af3730cb8f9"
ARG FYNE_CROSS_VERSION=1.1
ARG FYNE_CROSS_VERSION=1.2

## Build osxcross toolchain
FROM fyneio/fyne-cross:${FYNE_CROSS_VERSION}-base-llvm as osxcross
FROM docker.io/fyneio/fyne-cross:${FYNE_CROSS_VERSION}-base-llvm as osxcross
ARG OSX_CROSS_COMMIT
ARG OSX_VERSION_MIN

Expand Down Expand Up @@ -40,7 +40,7 @@ RUN UNATTENDED=yes SDK_VERSION=${SDK_VERSION} OSX_VERSION_MIN=${OSX_VERSION_MIN}


## Build darwin-latest image
FROM fyneio/fyne-cross:${FYNE_CROSS_VERSION}-base-llvm
FROM docker.io/fyneio/fyne-cross:${FYNE_CROSS_VERSION}-base-llvm

COPY --from=osxcross /osxcross/target /osxcross/target
ENV PATH=/osxcross/target/bin:$PATH
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ module github.com/fyne-io/fyne-cross
go 1.13

require (
github.com/BurntSushi/toml v0.4.1
github.com/BurntSushi/toml v1.0.0
github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9
github.com/stretchr/testify v1.6.1
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
github.com/stretchr/testify v1.7.0
golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9
)
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
github.com/BurntSushi/toml v0.4.1 h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/toml v1.0.0 h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU=
github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9 h1:1ltqoej5GtaWF8jaiA49HwsZD459jqm9YFz9ZtMFpQA=
github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9/go.mod h1:7uhhqiBaR4CpN0k9rMjOtjpcfGd6DG2m04zQxKnWQ0I=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 h1:nhht2DYV/Sn3qOayu8lM+cU1ii9sTLUeBQwQQfUHtrs=
golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
Expand Down
2 changes: 1 addition & 1 deletion internal/command/android.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const (
// androidOS is the android OS name
androidOS = "android"
// androidImage is the fyne-cross image for the Android OS
androidImage = "fyneio/fyne-cross:1.1-android"
androidImage = "docker.io/fyneio/fyne-cross:1.2-android"
)

var (
Expand Down
2 changes: 1 addition & 1 deletion internal/command/darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ var (
// darwinArchSupported defines the supported target architectures on darwin
darwinArchSupported = []Architecture{ArchAmd64, ArchArm64}
// darwinImage is the fyne-cross image for the Darwin OS
darwinImage = "fyneio/fyne-cross:1.1-darwin"
darwinImage = "docker.io/fyneio/fyne-cross:1.2-darwin"
)

// Darwin build and package the fyne app for the darwin OS
Expand Down
8 changes: 7 additions & 1 deletion internal/command/darwin_image.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,14 @@ func (cmd *DarwinImage) Run() error {
}
log.Info("[i] macOS SDK: ", ver)

// detect engine binary
engineBinary, err := engine()
if err != nil {
log.Fatal(err.Error())
}

// run the command from the host
dockerCmd := execabs.Command("docker", "build", "--pull", "--build-arg", fmt.Sprintf("SDK_VERSION=%s", cmd.sdkVersion), "-t", darwinImage, ".")
dockerCmd := execabs.Command(engineBinary, "build", "--pull", "--build-arg", fmt.Sprintf("SDK_VERSION=%s", cmd.sdkVersion), "-t", darwinImage, ".")
dockerCmd.Dir = workDir
dockerCmd.Stdout = os.Stdout
dockerCmd.Stderr = os.Stderr
Expand Down
Loading