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

Implementation of Azure Pipelines for building *.WGT files and releasing them to Github #17

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

robinkruyt
Copy link

This pull request allows automatic releases of dev-signed wgt files.

These builds cannot be deployed to TVs directly, but instead need to be resigned. It does however remove the requirement that people build their own version of jellyfin-web and jellyfin-tizen.

This pull request requires manual setup of Azure Pipelines. The following steps must be followed:

  • Setup an Azure project
  • Attach a Github account with access to this repo
  • In the Pipeline settings, add a variable called "CERTIFICATE". This must be a single line, base64 encoded version of the author.p12 file generated by Samsungs Certificate manager. This does not have to be a "Samsung Certificate" as it is meant to be resigned by others. Be sure to mark the variable "secret". [1]
  • Setup another variable called "CERTIFICATE_PASSWORD", this too must be secret and refers to the password used to create the author.p12 file.
  • For releases, a Github connection must be setup and its name must be setup in the pipeline file.

(I would be willing to set this up if someone adds me to an Azure project)

[1] This file could be converted to base64 using the following command on Linux or MacOS: openssl base64 -A -in author.p12 -out author.base64.txt (-A makes the output singleline)

robinkruyt and others added 9 commits April 20, 2020 14:19
Initial setup which does not yet include code signing [skip ci]
Building and installing should be separate steps for clarity.
Do not ignore all dotfiles, .ci for example will be required in order to comply with other Jellyfin repositories
…he pipeline

yarn.lock should be committed too.
@EraYaN EraYaN self-assigned this Apr 20, 2020
.ci/azure-pipelines.yml Outdated Show resolved Hide resolved
.ci/azure-pipelines.yml Show resolved Hide resolved
.ci/azure-pipelines.yml Outdated Show resolved Hide resolved
@dkanada
Copy link
Member

dkanada commented Apr 21, 2020

Can you head over to the license PR at some point and confirm you're okay with a certain license, we forgot to add one here when pulling the repository into the organization. 😄

@dmitrylyzo
Copy link
Collaborator

dmitrylyzo commented Apr 21, 2020

@dkanada I still have no answer from Samsung about GPL-3 compatibility with Samsung Apps Store ToS.
Currently, "In progress"

@robinkruyt
Copy link
Author

About the license, for me any license that is compatible with release on Samsung TV would generally be ok.

@Artiume
Copy link

Artiume commented Nov 26, 2020

any progress on this and the licensing?

@EraYaN
Copy link
Member

EraYaN commented Nov 27, 2020

For this and for WebOS, we might want to run our own agent so we don't have to install the whole SDKs on each commit. That would simplify the pipeline by a lot.

@spali
Copy link

spali commented Feb 17, 2022

Sorry to hijack this, but It's kind of related to the pipeline stuff and would like to share it.
I made progress on an automated build including deploy to the Samsung TV.
Maybe my work can be reused somehow in the project. My plan is to use it scheduled to automatically deploy the latest build to my TV's including preset server address.
I tried to make it customizable and reusable, so please copy whatever can help here (maybe the certificate part in the deploy.sh is interesting at least for the README.md here, because that's what most struggle with when trying to deploy to a TV for personal use).
https://github.com/spali/jellyfin-tizen-deploy
Basically it's composed of a tizen sdk docker image that gets jellyfin-web injected from the artifact docker image, builds this repo and creates the certificate stuff each time executed to sign the new package and optionally deploy it to the TV.

Some improvements that would help to make it better and (I assume) would anyway be part of the pipeline, would be to create a artifact image for this repo analog to jellyfin-web which includes everything ready for wgt packaging.
Looking forward to a prebuild artifact that I could just reuse without anything else except the wgt signing and deploy part 😉

@G-eos
Copy link

G-eos commented Mar 5, 2022

Thanks @spali your deploy script works well for me. This is not my preferenced solution having this PR merged or moreover official Samsung repo would be great but waiting for, the script you made make me happy :)

@lcha78
Copy link

lcha78 commented Mar 13, 2022

Thanks @spali it works for me too !

@P3pit0r
Copy link

P3pit0r commented Apr 11, 2022

Thanks @spali ! I finally could make it works thanks to you :)

@bdovaz
Copy link

bdovaz commented Jul 10, 2022

@dmitrylyzo any news on this PR?

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

Successfully merging this pull request may close these issues.

10 participants