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

Automate HomeAssisstant releases #4369

Merged
merged 10 commits into from
Sep 11, 2022
Merged

Automate HomeAssisstant releases #4369

merged 10 commits into from
Sep 11, 2022

Conversation

thecem
Copy link
Contributor

@thecem thecem commented Sep 10, 2022

Add hassio config

@thecem
Copy link
Contributor Author

thecem commented Sep 10, 2022

Alternativ in der release

@andig
Copy link
Member

andig commented Sep 10, 2022

Kannst Du aus den beiden PRs bitte einen machen?

@thecem
Copy link
Contributor Author

thecem commented Sep 10, 2022

Kannst Du aus den beiden PRs bitte einen machen?

Würde ich weiß aber nicht wie. Geht das überhaupt mit der Browserversion?

This was referenced Sep 10, 2022
@thecem
Copy link
Contributor Author

thecem commented Sep 10, 2022

Ich habe jetzt alle commits in einen PR gepackt:

packaging/hassio/config.json:

{
  "name": "evcc",
  "version": "0.100",
  "slug": "evcc",
  "description": "EV Charge Controller!",
  "url": "https://github.com/evcc-io/evcc",
  "arch": [
    "armhf",
    "armv7",
    "aarch64",
    "amd64",
    "i386"
  ],
  "startup": "application",
  "panel_icon": "mdi:ev-station",
  "panel_admin": false,
  "boot": "auto",
  "legacy": true,
  "stage": "experimental",
  "ingress": true,
  "ingress_port": 7070,
  "init": false,
  "image": "andig/evcc",
  "options": {
    "config_file": "/config/evcc.yaml"
  },
  "schema": {
    "config_file": "str"
  },
  "host_network": true,
  "map": [
    "config:rw"
  ],
  "webui": "http://[HOST]:[PORT:7070]/",
  "ports": {
    "7070/tcp": 7070,
    "9522/udp": 9522,
    "8887/tcp": 8887
  },
  "ports_description": {
    "7070/TCP": "Webserver",
    "9522/UDP": "Multicast (SMA Speedwire)",
    "8887/TCP": "OCPP web socket"
  }

update workflows/release.json:

  release-hassio:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: pocket-apps/action-update-version@v1
        with:
          files: 'packaging/hassio/config.json'
          version-regexp: '\d+.\d+.\d+'
          repo-token: ${{ secrets.GITHUB_TOKEN }}
      - name: Copy
        uses: andstor/copycat-action@v3
        with:
          personal_token: ${{ secrets.GH_TOKEN }}
          src_path: packaging/hassio/config.json
          dst_path: /evcc/config.json
          dst_owner: evcc-io
          src_branch: master
          dst_branch: master
          dst_repo_name: hassio-addon

@thecem thecem requested a review from andig September 10, 2022 20:07
@andig andig added the infrastructure Basic functionality label Sep 11, 2022
@andig andig changed the title Update for Automate deployments Automate HomeAssisstant releases Sep 11, 2022
packaging/hassio/config.json Outdated Show resolved Hide resolved
.github/workflows/release.yml Outdated Show resolved Hide resolved
.github/workflows/release.yml Outdated Show resolved Hide resolved
@andig
Copy link
Member

andig commented Sep 11, 2022

Geht das überhaupt mit der Browserversion?

Ups, mir war nicht klar, dass Du das mit dem Browser machst. Jetzt auf jeden Fall perfekt, danke!

@andig andig merged commit c78dafb into evcc-io:master Sep 11, 2022
@@ -108,8 +108,7 @@ jobs:
# branch-name: master
# author-name: evcc-io
run: |
export RELEASE_VERSION=$(echo ${{ env.GITHUB_REF }} | sed -e s#refs/tags/##)
sed -e s#0.0.0#$RELEASE_VERSION# packaging/hassio/config.json
sed -i -e s#0.0.0#$(echo ${{ env.GITHUB_REF }} | sed -e s#refs/tags/##)# packaging/hassio/config.json
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Das geht nicht. config.json wird im nächsten step mit "version": "0.0.0" kopiert. (getested)

Copy link
Member

@andig andig Sep 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, hab ich auch gesehen- das dürfte aber daran liegen, dass Du den branch angegeben hast. Geht es wenn Du den raus nimmst (so wie ich das hier nachgereicht habe)? Dann sollte die lokale Datei kopiert werden?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bei mir wird der file nur richtig ausgeben bei:

        run: |
          export RELEASE_VERSION=$(echo ${{ github.ref }} | sed -e s#refs/tags/v##)
          echo "$RELEASE_VERSION"
          sed -e s#0.0.0#$RELEASE_VERSION# packaging/hassio/config.json

so geht es nicht:


        run: |
          sed -i -e s#0.0.0#$(echo ${{ env.GITHUB_REF }} | sed -e s#refs/tags/##)# packaging/hassio/config.json

CopyCat: Das geht nur mit branch bei mir, da meins "main" ist. Hier sollte es auch ohne branch gehen, da default "master" ist. Oder wo meinst du den "branch" ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wenn Du es mit sed machen willst wisrst du nicht 0.0.0 ersetzen können, sondern die zeile mit "version": "x.x.x" und dann mit "version": "release" ersetzen müssen. Aber den file musst du committen, oder aber direkt in das hassio-addon commiten. Am einfachsten ist es wenn hassio-addon im evcc branche wäre.

Copy link
Member

@andig andig Sep 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wenn Du es mit sed machen willst wisrst du nicht 0.0.0 ersetzen können, sondern die zeile mit "version": "x.x.x" und dann mit "version": "release" ersetzen müssen.

Verstehe ich (leider) nicht. Ich hätte gerne Folgendes:

  • Datei hier aktualisieren
  • aktualisierte Datei ins hassio Repo committen
  • kein Commit hier (wenn wir hier committen triggert das den nächsten Build der unnötig ist)

Tut nicht?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wenn wir die Logik erstmal fürs Nightly bauen könnten liesse sich das auch gefahrlos testen. hier müssen wir erst aufs ncähste Release warten...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich teste das im hintergrund, mit meine repos. Mit sed geht es leider nicht (noch nicht).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so der nightly vorschlag ist da: #4394

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Info:

The simplest option is to clone the target repo, copy the files into the target repo, use the git commandline to stage the files and then commit them. Add the code below in a script step


run: |
    git clone https://.:${{ secrets.GITHUB_TOKEN }}@github.com/project target
    rm -rf everything but the .git directory
    copy source\files target
    cd target
    git add . #(add -A)
    git diff-index --quiet HEAD || git commit -m "Automatic publish from github.com/project"
    git push target master

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Basic functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants