Pull to refresh

Comments 12

Об этом буду писать в следующей части. Сейчас как раз разбираюсь с этим.
Скорее всего пойдем решать эту задачу через Fastlane, благо, готовые экшны для него есть.
UFO just landed and posted this here
Спасибо за развёрнутый комментарий, я согласен с вашими наблюдениями.

Да, вероятно, что серьёзный проект облсужить при помощи Github Actions будет непросто. Но для небольшого опенсорса или пет-проекта — это отличный вариант. Простота интеграции с репозиторием, который и так в 99% случаев будет у вас на Github заставляет простить многое.
Слава богу есть Docker actions, то есть теперь для использования однострочного баша как функции, нужно заводить специальный отдельный контейнер и исполнять ее там. Спасибо, микрософт.

Не уловил, в чем проблема запустить "однострочный баш" в Github Actions? К примеру:


- name: Run cassandra
  run: |
     docker run --name mycassandra -d -p 9042:9042 -e CASSANDRA_LISTEN_ADDRESS=127.0.0.1 cassandra:3.11

:)
Понятно, что тут докер запускается, но могу ведь что угодно сделать.


Из виртуалок вам только убунту, остальное на контейнерах.

Вот же пишут, или это другое?


Virtual environment YAML workflow label
Windows Server 2019 windows-latest or windows-2019
Ubuntu 20.04    ubuntu-20.04
Ubuntu 18.04    ubuntu-latest or ubuntu-18.04
Ubuntu 16.04    ubuntu-16.04
macOS Catalina 10.15    macos-latest or macos-10.15
UFO just landed and posted this here
Да я об actions в Github Actions, они даже имя не могли отдельное придумать, аладдин аладдин.

Так а зачем action делать, если нужна одна строка на ssh? Мы пишем эту строку прямо в workflow. А то и несколько строк.

UFO just landed and posted this here
Да, вы всё правильно поняли. Спасибо за ссылку, попробую оптимизировать этот момент! Если взлетит, секунд 40 с каждого билда удастся снять.

Упущен момент с тем как из base64 строки сделать обратно *.jks файл чтобы скормить его Gradle.


Просто передать base64 в storeFile через переменные окружения из Secrets у меня не вышло, как описано в статье:


keystoreConfig = [
        ....
        storeFile    : "$System.env.STORE_FILE"
]

Gradle по всей видимости ожидает именно путь к файлу keystore. В итоге пришлось записать на диск файл и передать путь к нему (расшифровав из base64 естественно):


- name: Get keystore from GitHub Secrets
  run: |
    mkdir signing
    echo "${{ secrets.STORE_FILE }}" | base64 -d > ./signing/keystore.jks

- run: flutter build apk --release
  env:
    STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
    KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
    KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
    STORE_FILE: "../../signing/keystore.jks"
Sign up to leave a comment.