Skip to content

Add native metadata storage for macOS hosts. #341

Add native metadata storage for macOS hosts.

Add native metadata storage for macOS hosts. #341

Workflow file for this run

name: Containers
on:
push:
branches: [ "main" ]
paths-ignore:
- "**.md"
- "**/COPYING"
- "**/README*"
- "contrib/webmin_module/**"
- "CONTRIBUTORS"
- "COPYRIGHT"
- "NEWS"
pull_request:
branches: [ "main" ]
paths-ignore:
- "**.md"
- "**/COPYING"
- "**/README*"
- "contrib/webmin_module/**"
- "CONTRIBUTORS"
- "COPYRIGHT"
- "NEWS"
env:
REGISTRY: ghcr.io
REPO: ${{ github.repository }}
jobs:
build-container:
name: Build Netatalk container
runs-on: ubuntu-latest
timeout-minutes: 5
if: ${{ !github.event.pull_request.head.repo.fork }}
permissions:
contents: read
packages: write
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Create image name
run: |
echo "IMAGE_NAME=${REPO,,}" >> ${GITHUB_ENV}
- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata
id: metadata
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=tag
type=raw,value=latest
type=sha
- name: Build and push container image
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile
push: true
labels: ${{ steps.metadata.outputs.labels }}
tags: ${{ steps.metadata.outputs.tags }}
build-container-testsuite:
name: Build Netatalk testsuite container
runs-on: ubuntu-latest
timeout-minutes: 5
if: ${{ !github.event.pull_request.head.repo.fork }}
permissions:
contents: read
packages: write
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Create image name
run: |
echo "IMAGE_NAME=${REPO,,}-testsuite" >> ${GITHUB_ENV}
- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata
id: metadata
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=tag
type=raw,value=latest
type=sha
- name: Build and push container image
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.testsuite
push: true
labels: ${{ steps.metadata.outputs.labels }}
tags: ${{ steps.metadata.outputs.tags }}
check-container:
name: Netatalk container dry run
needs: build-container
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_PASS: afpafp
AFP_GROUP: afpusers
ATALKD_INTERFACE: eth0
TZ: Europe/Stockholm
AFP_DRYRUN: 1
steps:
- uses: docker://ghcr.io/netatalk/netatalk:latest
with:
entrypoint: /usr/local/sbin/netatalk
args: -V
afp-spectest-afp34:
name: AFP spec test - AFP 3.4
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_USER2: atalk2
AFP_PASS: afpafp
AFP_PASS2: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
SHARE_NAME2: test2
INSECURE_AUTH: 1
DISABLE_TIMEMACHINE: 1
VERBOSE: 1
TESTSUITE: spectest
AFP_VERSION: 7
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-spectest-afp33:
name: AFP spec test - AFP 3.3
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_USER2: atalk2
AFP_PASS: afpafp
AFP_PASS2: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
SHARE_NAME2: test2
INSECURE_AUTH: 1
DISABLE_TIMEMACHINE: 1
VERBOSE: 1
TESTSUITE: spectest
AFP_VERSION: 6
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-spectest-afp32:
name: AFP spec test - AFP 3.2
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_USER2: atalk2
AFP_PASS: afpafp
AFP_PASS2: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
SHARE_NAME2: test2
INSECURE_AUTH: 1
DISABLE_TIMEMACHINE: 1
VERBOSE: 1
TESTSUITE: spectest
AFP_VERSION: 5
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-spectest-afp31:
name: AFP spec test - AFP 3.1
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_USER2: atalk2
AFP_PASS: afpafp
AFP_PASS2: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
SHARE_NAME2: test2
INSECURE_AUTH: 1
DISABLE_TIMEMACHINE: 1
VERBOSE: 1
TESTSUITE: spectest
AFP_VERSION: 4
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-spectest-afp30:
name: AFP spec test - AFP 3.0
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_USER2: atalk2
AFP_PASS: afpafp
AFP_PASS2: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
SHARE_NAME2: test2
INSECURE_AUTH: 1
DISABLE_TIMEMACHINE: 1
VERBOSE: 1
TESTSUITE: spectest
AFP_VERSION: 3
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-spectest-afp22:
name: AFP spec test - AFP 2.2
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_USER2: atalk2
AFP_PASS: afpafp
AFP_PASS2: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
SHARE_NAME2: test2
INSECURE_AUTH: 1
DISABLE_TIMEMACHINE: 1
VERBOSE: 1
TESTSUITE: spectest
AFP_VERSION: 2
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-spectest-afp21:
name: AFP spec test - AFP 2.1
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_USER2: atalk2
AFP_PASS: afpafp
AFP_PASS2: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
SHARE_NAME2: test2
INSECURE_AUTH: 1
DISABLE_TIMEMACHINE: 1
VERBOSE: 1
TESTSUITE: spectest
AFP_VERSION: 1
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-rotest-afp34:
name: AFP spec test (Readonly) - AFP 3.4
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_PASS: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
INSECURE_AUTH: 1
VERBOSE: 1
AFP_READONLY: 1
TESTSUITE: readonly
AFP_VERSION: 7
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-rotest-afp21:
name: AFP spec test (Readonly) - AFP 2.1
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_PASS: afpafp
AFP_GROUP: afpusers
SHARE_NAME: test1
INSECURE_AUTH: 1
VERBOSE: 1
AFP_READONLY: 1
TESTSUITE: readonly
AFP_VERSION: 1
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-logintest-afp34:
name: AFP login test - AFP 3.4
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_PASS: afpafp
AFP_GROUP: afpusers
INSECURE_AUTH: 1
VERBOSE: 1
TESTSUITE: login
AFP_VERSION: 7
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest
afp-logintest-afp21:
name: AFP login test - AFP 2.1
needs: build-container-testsuite
runs-on: ubuntu-latest
timeout-minutes: 5
env:
AFP_USER: atalk1
AFP_PASS: afpafp
AFP_GROUP: afpusers
INSECURE_AUTH: 1
VERBOSE: 1
TESTSUITE: login
AFP_VERSION: 1
steps:
- uses: docker://ghcr.io/netatalk/netatalk-testsuite:latest